PHP MySQL插入/更新查询返回true但有错误
发布时间:2020-12-13 17:10:04 所属栏目:PHP教程 来源:网络整理
导读:我有以下更新: $conn-query_cust("update cms_users set last_login_date = now() where id = " . $_SESSION['USER_INFO']-id); 我确定问题不在query_cust函数中,因为我在其他几种形式中使用相同的函数并且它们运行良好.无论如何,这是定义(有两个var_dump用
我有以下更新:
$conn->query_cust("update cms_users set last_login_date = now() where id = " . $_SESSION['USER_INFO']->id); 我确定问题不在query_cust函数中,因为我在其他几种形式中使用相同的函数并且它们运行良好.无论如何,这是定义(有两个var_dump用于debug-info): function query_cust($s='',$rows=false,$organize=true) { var_dump($s); if (!$q=mysql_query($s,$this->con)) return false; if ($rows!==false) $rows = intval($rows); $rez=array(); $count=0; $type = $organize ? MYSQL_NUM : MYSQL_ASSOC; var_dump($q); while (($rows===false || $count<$rows) && $line=mysql_fetch_array($q,$type)) { if ($organize) { foreach ($line as $field_id => $value) { $table = mysql_field_table($q,$field_id); if ($table==='') $table=0; $field = mysql_field_name($q,$field_id); $rez[$count][$table][$field]=$value; } } else { $rez[$count] = $line; } ++$count; } if (!mysql_free_result($q)) return false; return $rez; } 执行时,我收到一条警告信息: string(57) "update cms_users set last_login_date = now() where id = 1" bool(true) Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/content/XX/XXXXXXX/html/core/mysql.php on line 26 令我担心的是它返回bool(true)但是(如果我错了,请纠正我)一个不可忽视的警告!当我手动将更新查询复制到例如PHPmyAdmin时,它可以工作(用户具有表更新/插入权限). 对于任何遇到相同问题的人来说,只需要几个信息:本地代码运行没有任何问题(即使启用了’error_reporting = E_ALL’),但是当在测试环境(Godaddy的托管)上执行时,警告显示出来. PS:我不是很喜欢PHP(我来自JAVA世界)所以请在发布你的答案和我的愚蠢的子问题时请求怜悯:)谢谢. 解决方法
如果查询未返回结果集,则每个
the documentation,mysql_query返回true.更改:
if (!$q=mysql_query($s,$this->con)) return false; 至: if (!is_resource($q=mysql_query($s,$this->con))) return $q; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |