почему не работает код ниже?
$pdo = new PDO('mysql:dbname=_test;host=localhost','root', '');
$select=$pdo->prepare("SELECT * FROM test WHERE th=:name");
$select->bindValue(":name","1");
print_r($select);
когда я печатаю $ выберите результат:
PDOStatement Object ( [dbh] => PDO Object ( ) [queryString] => SELECT * FROM test WHERE th=:name )
Спасибо!
Вы должны добавить обработку ошибок в вызовы вашей базы данных, например, установив PDO для выдачи исключений.
Ваша текущая проблема заключается в том, что вы на самом деле не execute()
заявление:
$select->bindValue(":name","1");
$select->execute();
После этого вам нужно будет fetch()
Результаты из набора результатов, чтобы реально увидеть значения в вашей базе данных:
while ($row = $select->fetch()) {
// do something with the data
}
Редактировать: Чтобы включить исключения в PDO (вам пока не нужно их перехватывать, система выдаст необработанные ошибки исключений):
$pdo = new PDO('mysql:dbname=_test;host=localhost','root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
Других решений пока нет …