#php #sqlite
#php #sqlite
Вопрос:
Я использую PHP Lite для поиска соответствующей строки, подобной этой…
$count = $db->exec("SELECT * FROM users WHERE userid = '34534fgr'");
echo $count;
Но мой счетчик каждый раз возвращает 1, даже если значение не существует.
Я неправильно ищу?
Комментарии:
1. Предполагая, что вы используете класс SQLite PHP, exec возвращает логическое значение: php.net/manual/en/sqlite3.exec.php . Обычно он не используется select. Вам следует использовать вызов запроса: php.net/manual/en/sqlite3 . query.php
Ответ №1:
Am I searching incorrectly?
да. подсказка: при отладке используйте var_dump
вместо echo
, это помогло бы вам увидеть проблему здесь, потому что она печатала бы bool(true);
вместо int(1)
или string("1")
, потому что PDO::exec() возвращает логическое значение.
вот как сделать то, что вы пытались сделать:
$count = $db->query("SELECT COUNT(*) FROM users WHERE userid = '34534fgr'",PDO::FETCH_NUM)->fetch()[0];