Я пытаюсь выполнить следующий sql из php с помощью pdo: SELECT * FROM my_table WHERE name=?.
Когда я делаю это:
$sql = 'SELECT * FROM my__table WHERE name=?' ;
$stmt = $dbconn->prepare($sql);
$stmt->bindValue(1, $_POST['name'], PDO::PARAM_STR);
$stmt->execute();
Я получаю пустой набор результатов.
Когда я делаю это:
$sql = 'SELECT * FROM my__table WHERE name=\''.$_POST['name'].'\'' ;
$stmt = $dbconn->prepare($sql);
$stmt->execute();
Я получаю нужную мне строку.
Столбец «имя» - это VARCHAR (32). Эта ошибка происходит только со строками. Когда связанный параметр - это sql INTEGER, все работает как положено.
Я использую sqlite3, php 5.2.6 под Apache в Ubuntu.