php 捕捉mysql错误,php – 捕获mysql_query错误

我试图阻止mysql_query错误输出到我的表单上.目前,如果找不到位置,我收到错误

“警告:mysql_result()[function.mysql-result]:无法跳转到MySQL结果索引11的第0行”

我试图捕获此错误,而是将$location变量指定为未找到.尝试此操作的代码如下,我做错了什么?

谢谢!

$query3 = "SELECT `location` FROM location WHERE vin = '$vin' LIMIT 1";

$result3 = mysql_query($query3);

if (!mysql_result($result3,0)) {

$location = "Not found";

} else $location = mysql_result($result3,0,0);

解决方法:

通常不应该使用mysql_result().你最好用以下的东西:

$result3 = mysql_query($query3) or die(mysql_error());

if (mysql_numrows($result3) == 0) then

$location = "not found";

} else {

$row = mysql_fetch_array($result3);

$location = $row[0];

}

您的错误是由查询未返回任何行 – 例如没有匹配.然后,您尝试检索该结果集的第一行中的第一个字段,该行不存在.使用mysql_numrows()检查返回行的数量是更安全的,因为无论查询是否找到任何行或是否为bajillion行都可以.

标签:php,mysql

来源: https://codeday.me/bug/20190518/1128755.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 PHP 中提交数据到 MySQL 数据库后,如果数据没有出现在 MySQL 中,可能有以下几种原因: 1. PHP 脚本执行错误:可以检查 PHP 脚本是否有语法错误,或者是否有运行时错误。可以在 PHP 中使用 error_reporting 函数和 ini_set 函数来设置错误报告级别,并使用 error_log 函数将错误写入日志文件。 2. MySQL 服务器连接错误:可以检查 MySQL 服务器是否正常运行,并检查 PHP 脚本中的连接字符串是否正确。可以使用 mysql_connect 函数来连接 MySQL 服务器,并使用 mysql_error 函数来检查连接是否成功。 3. MySQL 语句执行错误:可以检查 MySQL 语句是否有语法错误,或者是否有运行时错误。可以使用 mysql_query 函数执行 MySQL 语句,并使用 mysql_error 函数来检查语句是否成功执行。 4. 权限问题:可以检查 MySQL 用户是否有足够的权限在该数据库中执行插入操作。可以使用 GRANT 命令为用户分配权限,或者使用 REVOKE 命令撤销用户的权限。 5. 编码问题:可以检查数据库和表的编码是否与 PHP 脚本中使用的编码匹配。可以使 ### 回答2: 当使用PHP提交数据到MySQL数据库时,有几个可能的原因导致数据没有出现在MySQL上: 1. 连接数据库失败:可能是由于数据库的连接参数不正确,例如,主机名、用户名、密码或数据库名称错误。在使用PHP连接数据库之前,确保已正确设置了这些值。 2. 数据库操作问题:可能是由于错误的SQL语句或数据库操作导致的。在执行数据提交操作之前,确保编写了正确的SQL语句,并确保使用了适当的数据库操作函数(如INSERT、UPDATE等)。 3. 数据提交的条件不满足:可能是由于某些条件限制导致数据没有被正确提交到数据库。例如,如果使用了WHERE子句并且条件不满足,数据可能不会被插入或更新。 4. 数据类型不匹配:可能是由于提交的数据类型与数据库表的列定义不匹配导致的。例如,如果将一个字符串值插入到整数类型的列中,MySQL可能会拒绝插入。 5. 数据提交过程中发生错误:可能是由于其他错误异常导致数据提交过程中中断。为了排除这种可能性,可以在PHP代码中使用异常处理或错误处理机制,以便在出现任何错误时能够获取相关的错误信息。 为了解决这个问题,可以逐个排查以上可能原因,检查数据库连接参数、SQL语句、条件限制和数据类型等,确保数据提交过程中没有出现任何异常错误。如果问题仍然存在,可以尝试对代码进行调试,使用日志记录功能获取更多信息,并进一步排查问题所在。 ### 回答3: PHP是一种用于开发动态网站的编程语言,而MySQL是一种开源的关系型数据库管理系统。当我们在PHP中提交数据到MySQL时,有以下几种可能导致数据未成功存储在MySQL上的原因: 1. 连接问题:在PHP中连接MySQL时,可能出现连接失败的情况。这可能是因为数据库服务器未运行、连接参数设置不正确、权限不足等原因。在这种情况下,PHP无法将数据发送到MySQL上。 2. SQL语句错误:在PHP中执行SQL语句时,可能出现语法错误或逻辑错误。这可能导致数据未能正确插入到数据库中。在这种情况下,我们可以通过检查SQL语句是否正确、使用日志记录或错误报告来识别问题。 3. 数据验证问题:在PHP中提交数据到MySQL之前,通常会进行一些数据验证操作,以确保数据的完整性和准确性。如果数据验证不通过,PHP将不会将数据插入到MySQL中,而是返回错误消息。 4. 数据库表结构问题:在插入数据之前,我们需要确保目标表的结构与我们所提交的数据相匹配。如果表结构不正确或者字段类型与提交数据类型不匹配,数据将无法插入数据库。 5. 数据库事务问题:在处理数据时,我们通常会使用事务来确保操作的原子性。如果在事务过程中出现了错误,可能会导致数据未能成功提交到数据库。 为了解决这些问题,我们可以检查连接参数、MySQL服务器是否正常运行,审查SQL语句以及验证数据的有效性。同时,我们还可以使用日志记录和错误报告来捕获可能出现的错误,并根据错误信息进行调试和修复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值