我试图从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)。 我做错了什么或忘记了什么?
答案 0 :(得分:4)
首先,要记住的最重要的事情是:
mysql_ functions are strongly discouraged,原因有多种:
请参阅更多更深入解释的链接问题。
现在,代码本身:
mysql_connect
连接到服务器您应该使用mysql_connect
来指定将用于访问数据库中数据的服务器,用户名和密码。从你的代码来看,似乎 应该存在,因为$db
函数中使用了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']
答案 1 :(得分:2)
不推荐使用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将包含db中找到的记录数。 为行数添加一个echo,并告诉我们行数是否仍为1。 然后使用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
}
?>
编辑:您可以使用此代码测试代码并让我们知道您获得的行数(写下您的真实用户名和密码以及数据库名称:
<?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
}
?>
答案 2 :(得分:0)
您的问题出在php echo语句中。它缺少“;”。