【发布时间】:2023-04-02 15:01:01
【问题描述】:
我正在尝试切换到 pdo 并获得了成功,但我的最新功能无法正常工作。但是,当我恢复到 mysqli 时,它很好。我确定我错过了什么,但是什么??
不工作的 PDO:
$db = db_pdo();
$query = $db->prepare("select * from locks_for_sale where type_3=':search'");
$query->bindParam(":search", $sub_items[3]);
$query->execute();
if (!$result=$query->fetch()) {
$print .= "<tr><td> </td><td><h3>No products currently available.</h3></td></tr>\n";
}
else {
other code
请注意:
包含函数 db_pdo。
$sub_items[3] 是一个字符串。
工作 mysqli:
$db = db_conn();
$sql = "select * from locks_for_sale where type_3='".$sub_items[3]."'";
$query = $db->query($sql);
if (!$query->fetch_assoc()) {
$print .= "<tr><td> </td><td><h3>No products currently available.</h3></td></tr>\n";
}
else {
other code
再次包含 db_conn。
我知道此查询的结果是返回 2 个项目,但 pdo 版本显示 !$result。
提前致谢。
【问题讨论】:
-
var_dump($query->errorInfo()说什么?返回 false 表示错误,所以让 PDO 准确告诉您错误是什么。 -
@Marc B 输出为
array(3) { [0]=> string(5) "00000" [1]=> NULL [2]=> NULL } array(3) { [0]=> string(5) "00000" [1]=> NULL [2]=> NULL }