«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как проверить существование строки с помощью PDO?

Как проверить существование строки с помощью PDO?

Опубликовано 1 ноября 2024 г.
Просматривать:688

How to Check for Row Existence Using PDO?

Проверка существования строки с помощью PDO

Вы столкнулись с трудностями при проверке существования строки в базе данных с использованием PDO. Чтобы решить эту проблему, рассмотрите следующее решение:

Как предложено в ответе, вы можете напрямую проверить возвращаемое значение запроса. Вот пример:

$stmt = $conn->prepare('SELECT * FROM table WHERE ID=?');
$stmt->bindParam(1, $_GET['id'], PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);

if (!$row) {
    echo 'Row does not exist';
}

В этом коде $stmt->execute() пытается выполнить запрос. Если строка не найдена, $stmt->fetch() возвращает FALSE. Это позволяет вам использовать условие if (!$row), чтобы определить, существует ли строка.

Кроме того, если вы хотите проверить наличие нескольких строк или избежать выборки строки, вы можете использовать $stmt-> метод fetchAll():

$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

if (!$rows) {
    echo 'No rows found';
}

В качестве альтернативы вы можете указать MySQL возвращать 1 при обнаружении строки:

$sql = 'SELECT 1 from table WHERE id = ? LIMIT 1';
$stmt = $conn->prepare($sql);
$stmt->execute([$_GET['id']]);

if ($stmt->fetchColumn()) echo 'Row found';

Этот подход устраняет необходимость извлечения строки, повышая эффективность.

Заявление о выпуске Эта статья воспроизведена: 1729560796 Если есть какие -либо нарушения, пожалуйста, свяжитесь с [email protected], чтобы удалить его.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3