我正在尝试使用 PHP 更新列数据,但我收到除数为零的错误。
mysql_query('UPDATE personas SET toolbar_id=\'' . $result . '\' WHERE download_ff LIKE concat('%',\'' . $result . '\','%')');
echo mysql_error($link);
printf("Records inserted: %d\n", mysql_affected_rows());
我尝试了几种连接 $result 的方法,但都导致除以零错误。帮助!
最佳答案
你的问题就在这里:
concat('%',\'' . $result . '\','%')
%
结束于字符串之外,因此 PHP 将其解释为 modulus operation并且模数两边的字符串在数字上下文中将为零,结果是您尝试 0 % 0
并且出现“被零除”错误。
尝试转义内部单引号:
concat(\'%\',\'' . $result . '\',\'%\')
或者,在您的 PHP 中创建一个包含字符串中的百分号的 $like_result
,然后执行此操作:
mysql_query('UPDATE personas SET toolbar_id=\'' . $result . '\' WHERE download_ff LIKE \'' . $like_result . '\';
您正在使用 mysql_real_escape_string
也是,对吧?
关于php - mysql除以零错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6978215/