我想在mysql数据库中搜索。我希望发送的搜索要在表的2列中进行搜索。但是我没有用这段代码得到结果。
$Ara = $db->prepare("SELECT * FROM urun_bilgileri WHERE (urun_adi LIKE ? OR urun_kodu LIKE ?)");
$Ara->execute(array('%'.$Gelen.'%'));
while($Liste = $Ara->fetchAll(PDO::FETCH_ASSOC)){;
$toplam_icerik = $Ara->rowCount();
}
问题出在哪里?
答案 0 :(得分:1)
尝试此操作,需要传递两个值
$Ara = $db->prepare("SELECT * FROM urun_bilgileri WHERE (urun_adi LIKE ? OR urun_kodu LIKE ?)");
$Ara->execute(array('%'.$Gelen.'%','%'.$Gelen.'%'));
while($Liste = $Ara->fetchAll(PDO::FETCH_ASSOC)){;
$toplam_icerik = $Ara->rowCount();
}
答案 1 :(得分:1)
您在查询中使用两个占位符,但仅传递一个参数。 您必须传递两个参数,例如:
$keyword = '%'.$Gelen.'%';
$Ara = $db->prepare("SELECT * FROM urun_bilgileri WHERE (urun_adi LIKE ? OR urun_kodu LIKE ?)");
$Ara->execute(array($keyword, $keyword));
,或者您可以使用命名的占位符。例如:
$keyword = '%'.$Gelen.'%';
$Ara = $db->prepare("SELECT * FROM urun_bilgileri WHERE (urun_adi LIKE :urun_adi OR urun_kodu LIKE :urun_kodu)");
$Ara->execute(array(':urun_adi' => $keyword, ':urun_kodu =>$keyword));
答案 2 :(得分:0)
启用PHP错误报告和PDO错误报告比PHP在错误消息中告诉您的要多。
error_reporting(-1);
ini_set('display_errors', true);