@fantazerno

Как в sqlite в запрос передать переменную?

Добрый день, может мой вопрос покажется глупым, но я не могу с ним справиться

$row = $db->querySingle('SELECT * FROM data WHERE Id=60 ',true);

$num = 60;
$row = $db->querySingle('SELECT * FROM data WHERE Id=$num ',true);


почему если заменить значение ID На переменную мой запрос не проходит
  • Вопрос задан
  • 3741 просмотр
Решения вопроса 1
wladyspb
@wladyspb
Программист
Одинарные кавычки представляют просто строку, если вы хотите вставить в неё переменную, нужно либо использовать контатенацию, как в ответе выше, либо использовать двойные кавычки, которые при исполнении парсятся на предмет содержания переменных.
$row = $db->querySingle("SELECT * FROM data WHERE Id=$num ",true);
Вот так ваша строка будет содержать именно переменную.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@tplus
Потому что переменную нужно соединить со строкой запроса, в таком виде, как у вас - $num текст, а не перемення.

'<текст запроса>' . $num .';'

$row = $db->querySingle('SELECT * FROM data WHERE Id='.$num.';',  ',true);


Также обращайте внимание на кавычки
$a = "var";
echo 'sample - $a';
>> sample - $a
echo "sample - $a";
>> sample - var
Ответ написан
Комментировать
SagePtr
@SagePtr
Еда - это святое
По-хорошему - юзать плейсхолдеры. Защитит потом не раз от SQL-инъекций.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы