У меня есть база данных MySQL с таблицей «Test», в которой есть один столбец «TestData». Существует три записи со следующими значениями для TestData: «Это значение 1», «Вот другая строка» и
«Третий просто на счастье».
Я написал следующий код PHP для извлечения записей.
<?php
try {
$hostname = "redacted";
$username = "redacted";
$password = "redacted";
$database = "redacted";
$conn = new PDO("mysql: host=$hostname; dbname=$database", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT TestData FROM Test";
$stmt = $conn->prepare($sql);
$stmt->execute();
}
catch(PDOException $e)
{
$finalResult = $finalResult . "," . $e->getMessage();
}
echo "you are here (" . $stmt->rowCount() . ")<br>";
if ($stmt->rowCount() > 0) {
echo "found (" . $stmt->rowCount() . ")<br>";
$stmt->bind_result($td);
echo "bind successful<br>";
while ($stmt->fetch()) {
echo "testdata (" . $td . ")<br>";
}
} else {
echo "nothing found<br>";
}
?>
Я получаю результат
Вы здесь (3)
найдено (3)
PHP-скрипт никогда не попадает в оператор "echo 'bind success
'". "$ Stmt-> bind_result ($ td);" заявление зависает.
Похоже, что запрос работает, учитывая, что rowCount = 3. Я использовал практически ту же структуру для выполнения ВСТАВКИ, которая работает должным образом.
Что не так с тем, что я делаю? Спасибо.