Я хочу искать в базе данных 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();
}
в чем проблема?
попробуйте с этим, нужно передать два значения
$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();
}
Вы используете два заполнителя в запросе, но передаете только один параметр.
Вы должны передать два параметра, например:
$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));
Включите PHP error_reporting и PDO error_reporting, чем PHP сообщит вам об этом в сообщении об ошибке.
error_reporting(-1);
ini_set('display_errors', true);