Помещение данных SQL в таблицу HTML
Я пытаюсь получить данные из моей базы данных mySQL и поместить их в таблицу HTML. После поиска в интернете, но я не мог найти код, который работал для меня.
В настоящее время у меня есть этот код
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<table>
<thead>
<tr>
<td>Naam</td>
<td>Gemeente</td>
<td>Datum</td>
</tr>
</thead>
<tbody>
<?php
$db_select = mysql_select_db($dbname,$db);
if (!db_select) {
die("Database selection also failed miserably: " . mysql_error());
}
mysql_select_db("databaseiheko");
$results = mysql_query("SELECT NaamFuif, GemeenteFuif, DatumFuif FROM tblfuiven");
while($row = mysql_fetch_array($results)) {
?>
<tr>
<td><?php echo $row['NaamFuif']?></td>
<td><?php echo $row['GemeenteFuif']?></td>
<td><?php echo &row['DatumFuif']?></td>
</tr>
<?php
}
?>
</tbody>
</table>
</body>
</html>
единственное, что я получаю, это первая строка моей таблицы (Naam-Gemeente-Datum). Я что-то не так делаю или что-то забыл?
3 ответов
прежде всего, самое главное, чтобы иметь в виду:
вы используете устаревший и небезопасный код
на функции mysql_ являются сильно уныние по разным причинам:
- считаются устаревшими и будут удалены в будущих версиях PHP
- небезопасны, что приводит к возможным SQL-инъекциям,
- отсутствие многих функций, присутствующих в более современной версии В PHP
см. связанный вопрос для много более подробные объяснения.
теперь к самому коду:
вы не используете mysql_connect
для подключения к серверу
вы должны использовать mysql_connect
чтобы указать сервер, имя пользователя и пароль, которые будут использоваться для доступа к данным в базе данных. Из вашего кода кажется, что это был должен присутствовать, потому что есть $db
переменная, используемая в the mysql_connect
функция, но не правильно инициализирована и не используется снова нигде.
вы должны использовать mysql_connect
подобным образом:
$db = mysql_connect('localhost', $user, '$password'); if (!$db) { die('Not connected : ' . mysql_error()); }
(не забудьте установить имя пользователя и пароль!)
вы используете mysql_select_db
дважды подряд:
$db_select = mysql_select_db($dbname,$db); if (!db_select) { die("Database selection also failed miserably: " . mysql_error()); }
следовал по
mysql_select_db("databaseiheko");
- Примечание
$dbname
и$db
переменные, у вас их нет в коде, эта функция не будет работать как этот. - второй
mysql_select_db
перезаписывает первый, но вы не указываете соединение с сервером для использования.
вы должны использовать первую версию, но вы должны использовать mysql_connect
перед ним.
у вас есть опечатки в коде
-
if (!db_select) {
должно бытьif (!$db_select) {
-
echo &row['DatumFuif']
должно бытьecho $row['DatumFuif']
функции mysql_ устарели, но если вы хотите их использовать, я предлагаю следующие исправления:
вы можете исправить ваш код таким образом: соединение mysql необходимо:
<?php
//connect to your database
mysql_connect("serverIpAddress","userName","password");
//specify database
mysql_select_db("yourDatabaseName") or die;
//Build SQL Query
$query = "select * from tblfuiven";
$queryResult=mysql_query($query);
$numrows=mysql_num_rows($queryResult);
numrows будет содержать количество записей в БД. добавьте Эхо для количества строк и сообщите нам, является ли количество строк все еще одним. Затем используйте mysql_fetch_assoc для получения строк:
while($row = mysql_fetch_assoc($queryResult)) {
?>
<tr>
<td><?php echo $row['NaamFuif']?></td>
<td><?php echo $row['GemeenteFuif']?></td>
<td><?php echo &row['DatumFuif']?></td>
</tr>
<?php
}
?>
EDIT: вы можете проверить код и сообщить нам количество строк, которые вы получаете, используя этот код (напишите свое настоящее имя пользователя и пароль и имя БД:
<?php
mysql_connect("localhost","root","root");
mysql_select_db("databaseName") or die;
$results = mysql_query("SELECT * FROM tblfuiven");
$numrows=mysql_num_rows($queryResult);
while($row = mysql_fetch_assoc($queryResult)) {
?>
<tr>
<td><?php echo $numrows ?></td>
<td><?php echo $row['NaamFuif']?></td>
<td><?php echo $row['GemeenteFuif']?></td>
<td><?php echo $row['DatumFuif']?></td>
</tr>
<?php
}
?>