@denop
Изучаю Yii2 / Vue.js

PDO проверка существует ли значение в таблице БД?

Всем доброго времени!
Пишу проверку на существование значения, и застрял....
$id ='123';
$id_c = "%$id%";
$stmt  = $db->prepare("SELECT * FROM user_s WHERE id LIKE ?");
$stmt->execute(array($id_c));
$data = $stmt->fetchAll();
foreach ($data as $item) {
	if ($item['id'] != $id'') {
} elseif {
}}

если вывести
echo "<pre>\n";
print_r($data);
echo "</pre>\n";

будет пустой массив.... делал проверку на него .... всё равно не работает...
Помогите разобраться.
Заранее благодарю!
  • Вопрос задан
  • 4102 просмотра
Пригласить эксперта
Ответы на вопрос 2
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Зачеееем делать выборку по ID с помощью LIKE и самой дикой маской %%?
Зачем делать fetchAll цикл если вы заведомо выбираете ОДНУ запись?

php.net/manual/ru/pdostatement.fetch.php
Ответ написан
@AlikDex
SELECT EXISTS(SELECT 1 FROM test2 WHERE id ='321321' LIMIT 1)

stackoverflow.com/questions/1676551/best-way-to-te...
$stmt = $dbh->prepare('SELECT EXISTS(SELECT 1 FROM user_s WHERE id =:id LIMIT 1)');
$stmt->bindValue(':id', $id, PDO::PARAM_INT);
$stmt->execute();
if ($stmt->fetch(PDO::FETCH_NUM)) {
// exists
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы