Это продолжение моего предыдущего вопроса на Использование PDO для замены mysql_connect - правильное форматирование?
Это часть большой страницы, которая сама будет отображатьсяна другую страницу
<?php
/*** mysql hostname ***/
$hostname = 'localhost';
/*** mysql username ***/
$username = 'root';
/*** mysql password ***/
$password = 'MYPASSWORD';
try {
$dbh = new PDO("mysql:host=$hostname;dbname=radiotest", $username, $password);
/*** echo a message saying we have connected ***/
/*** The SQL SELECT statement ***/
$sql = "SELECT * FROM presenters";
foreach ($dbh->query($sql) as $row)
{
}
/*** close the database connection ***/
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
<?php foreach ($dbh->query($sql) as $row) ?>
<table>
<td>
<tr><?php echo $row['presenter'] ?><?php echo $row['show'] ?> </tr>
</table>
Это выдало эту ошибку:
Fatal error: Call to a member function query() on a non-object in C:\www\vhosts\localhost\radio1.php on line 29
Я хочу избежать этой ошибки и иметь возможность выводить строки, если могу ... безиспользуя этот код (мой оригинальный код - он работал, но я пытаюсь использовать PDO с echo, как в примере выше):
<?php
/*** mysql hostname ***/
$hostname = 'localhost';
/*** mysql username ***/
$username = 'root';
/*** mysql password ***/
$password = 'MYPASSWORD';
try {
$dbh = new PDO("mysql:host=$hostname;dbname=radiotest", $username, $password);
/*** echo a message saying we have connected ***/
/*** The SQL SELECT statement ***/
$sql = "SELECT * FROM presenters";
foreach ($dbh->query($sql) as $row)
{
echo $row['presenter'] .' - '. $row['show'] . '<br />';
}
/*** close the database connection ***/
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
Что может быть причиной этой ошибки и почему?
Что я должен делать с кодом, чтобы убедиться, что он зациклен:
<table>
<td>
<tr><?php echo $row['presenter'] ?><?php echo $row['show'] ?> </tr>
</table>
В основном я пытаюсь использовать PDO для замены mysql_connect для отображения строк в таблицах или списках определений в HTMLмой сайт тестирования.
Вот отредактированная версия сейчас:
<?php
/*** mysql hostname ***/
$hostname = 'localhost';
/*** mysql username ***/
$username = 'root';
/*** mysql password ***/
$password = 'MYPASSWORD';
try {
$dbh = new PDO("mysql:host=$hostname;dbname=radiotest", $username, $password);
/*** echo a message saying we have connected ***/
/*** The SQL SELECT statement ***/
$sql = "SELECT * FROM presenters";
foreach ($dbh->query($sql) as $row)
{
echo $row['presenter'] .' - '. $row['show'] . '<br />';
}
/*** close the database connection ***/
$dbh;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
<table>
<td>
<tr><?php echo $row['presenter'] ?><?php echo $row['show'] ?> </tr>
</table>
Отображает данные, но не в таблице ниже.