【发布时间】:2012-01-17 21:57:35
【问题描述】:
我试图在我的架构中的一个表中更新一行中的一个字段,并且我的 php 日志中没有任何错误,但值没有更新到该字段中。我的更新查询是这样写的:
$dbQuery00 = "UPDATE `billing`.`sale_transaction` SET `Signature` = '$signatureUpload' WHERE `TRANSCODE` = '$transID';";
$result = mysqli_query($dbObj,$dbQuery00) or trigger_error('Failed on dbQuery00'.mysqli_error(), mysqli_errno());
当我将 $result 变量发布到 error_log 时,它会显示应该更新的正确字段数,这只是一个但没有显示。
我更新的值是一个 png 文件,我将它插入到一个 longblob 字段中。我在其他地方也有类似的设置,但由于某种原因,这个特殊的小更新查询是不行的......任何建议都将不胜感激。
【问题讨论】:
-
您确定
$transID是您所期望的(也就是说,您正在更新然后检查您期望的行)?$result在这里只会是真或假,不会更新多个字段。 -
hmmmm .....是的,我已将 transID 发布到 error_log 及其应有的内容。让我再次运行我的脚本以再次查看错误日志中出现的内容。
-
好的,所以签名值显示为“数组”,结果值显示为 1。我想我应该添加我将两者都转换为(字符串)以便在错误日志中看到它们
-
不要在
trigger_error()的第二个参数中给mysqli_errno()....mysqli错误号与php错误号无关。根据所需的行为,使用E_USER_ERROR(致命)、E_USER_WARNING(严重)或E_USER_NOTICE(好吧,注意它是;))。 -
感谢您的回复,但我对错误捕获没有问题。我的问题是我发送到我的脚本的数据没有进入我试图更新的表中。我没有看到任何与数据相关的错误,所以我有点卡住了