Отображение результата запроса mysql в виде таблицы - PullRequest
0 голосов
/ 03 января 2012

Я хочу отобразить набор результатов запроса в виде таблицы на моей веб-странице.Запрос не вызывает ошибок, но скрипт не выдает никаких результатов.

У меня есть одна таблица в базе данных (проигрыватели).Эта таблица имеет 3 строки (id, имя, фамилия).

Исходный код скрипта :

<!DOCTYPE html>
<html>
  <head>
    <title>View Records</title>
  </head>
  <body>
    <h1>View Records</h1>

    <?php
    error_reporting(E_ALL); 
    ini_set('display_errors','1');

    $db = new PDO('mysql:host=localhost;dbname=records2', 'root', '');
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $players = $db->query('SELECT * FROM players');

    echo "<table border='1' cellpadding='10>";
    echo "<tr><th>ID</th><th>First name</th><th>Last name</th></tr>";

    foreach($players->fetchAll() as $row){
        echo "<tr>";
        echo "<td>".$row['id']."</td>";
        echo "<td>".$row['firstname']. "</td>";
        echo "<td>".$row['lastname']."</td>";
        echo "</tr>";
    }
    $player->closeCursor();

    echo "</table>";
    ?>      
  </body>
</html>

Моя база данных:

CREATE TABLE IF NOT EXISTS `players` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `firstname` varchar(32) CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL,
  `lastname` varchar(32) CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

Ответы [ 3 ]

1 голос
/ 23 мая 2012

привет пользователю1050014 и другим.Мне удалось воспроизвести проблему, с которой вы столкнулись при работе со сценарием.Я изменил скрипт для работы с базой данных на моем компьютере.Сценарий выполнен как ожидалось.Одним из изменений для меня было поставить галочку после [cellpadding = '10 '].Это честная опечатка.Это должно исправить вашу проблему.

// your original line from your script
echo "<table border='1' cellpadding='10>";

У вас также была опечатка при вызове $ player-> closeCursor ();(должно быть $ игроков).Я надеюсь, что это поможет кому-то еще.

1 голос
/ 03 января 2012

Вы должны запросить у PDO сообщение об ошибке, подобное этому:

print_r($dbh->errorInfo());

См .: http://php.net/manual/en/pdo.errorinfo.php

0 голосов
/ 05 апреля 2013

Здесь вам не хватает ни одного апострофа

echo "<table border='1' cellpadding='10>";

исправлено:

echo "<table border='1' cellpadding='10'>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...