【发布时间】:2015-11-26 03:41:25
【问题描述】:
我正在为一个类开发一个简单的小型项目 - 一个模拟数据库(使用 phpMyAdmin 构建),附带一个用于用户输入的 Web 应用程序,以允许搜索/附加/更新所述数据库。搜索和追加工作完美,但更新让我很伤心。
我设置了要显示的错误消息以帮助调试过程,尽管它们已针对此项目中的先前问题弹出,但并未针对此特定问题显示。
我的代码如下所示:
$sth = "UPDATE adjunct_number
SET FIRSTNAME = '.$updateInformation.'
WHERE 700NUMBER = '.$updateCriteria.';";
(I tried echoing $sth right here, nothing displayed!)
$sth = $db->prepare($sth);
$sth->execute();
$updateInformation 和 $updateCriteria 都成功地从 HTML 表单的文本框中拉出。 (我将在表单中输入 Drew 和 700123456 作为测试数据。)我测试了 $updateInformation 和 $updateCriteria 实际上是使用以下语句成功捕获的:
echo $updateInformation . ", " . $updateCriteria
产生以下输出:
Drew, 700123456
我先在phpMyAdmin中输入下面的查询来测试一下。
UPDATE adjunct_number
SET FIRSTNAME = 'DREW'
WHERE 700NUMBER = 700482306
它总是在 phpMyAdmin 中工作,正如预期的那样,100% 的时间......但是,当我通过 PHP 发送完全相同的更新命令时,它永远不会工作,这让我非常困惑。我唯一能想到的是我的 SQl 语句中被忽略的 PHP 拼写错误,但此时我已经盯着它看了很长时间,以至于我可以用一双新的眼睛!为什么我尝试 echo $sth 时没有显示 sql 语句?非常感谢这个精彩社区的任何见解。
【问题讨论】: