协助PHP和MYSQL

时间:2014-11-16 15:48:09

标签: php mysql

我这里有代码,应该从我的mysql数据库中打印一个html表。当我在网络浏览器中打开页面时,它是一个空白页面。

<html>
<body>
<?php
$connection = mysql_connect('localhost', 'admin', 'may122000');
mysql_select_db('contacts');

$query = "SELECT * FROM users";
$result = mysql_query($query);

echo "<table>"; // start a table tag in the HTML

while($row = mysql_fetch_array($result)){ 
echo "<tr><td>" . $row['first_name'] . "</td><td>" . $row['last_name'] . "</td></tr>";  //$row['phone'] the index here is a field name
}

echo "</table>";

mysql_close();
?>
</body>
</html>

4 个答案:

答案 0 :(得分:1)

  1. 删除密码
  2. 启用错误输出
  3. 使用mysql_fetch_array时,您将获得带有数字索引的结果数组。 mysql_fetch_assoc将为您提供一个关联数组,就像您想要的那样。

    注意:不推荐使用mysql_*

    while($row = mysql_fetch_assoc($result)){ 
    echo "<tr><td>" . $row['first_name'] . "</td><td>" . $row['last_name'] . "</td></tr>";  //$row['phone'] the index here is a field name
    }
    

    如果您仍想使用mysql_fetch_array,则必须传递第二个参数:

    while($row = mysql_fetch_array($result, MYSQL_ASSOC)){ 
    

答案 1 :(得分:0)

首先是用户mysqli或PDO和mysqli_fetch_assoc(),因此您只有关联数组。空白页可能是隐藏错误的结果,它存储在服务器上的error.log中 - 看看它并回复给我们。

答案 2 :(得分:0)

我更喜欢使用 PDO mysqli ,但无论如何,您确定已建立连接吗?检查这个并检查其他连接和查询:

if (!connection)
die(mysql_error());

试试这个并反馈我

答案 3 :(得分:0)

改进 - 其中一些已经在其他帖子中提到过但都以一种形式组合在一起:

<?php

$connection = mysqli_connect('localhost', 'admin', '****', 'contacts');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT first_name, last_name, phone FROM users";
$result = mysqli_query($connection, $query) or die(mysqli_error($connection));

echo "<table>"; // start a table tag in the HTML

while($row = mysqli_fetch_array($result)){ 
echo "<tr><td>" . $row['first_name'] . "</td><td>" . $row['last_name'] . "</td></tr>";  //$row['phone'] the index here is a field name
}

echo "</table>";

mysqli_close($connection);
?>

所以,首先关闭MySQL_ *已经升级到Mysqli,并进行了一些小的重新格式化, select *已替换为仅选择所需的列。 结束语句已正确设置。

首先,如果您的连接失败,错误捕获会将此输出到屏幕。在产品发布或公开发布页面时删除此项。

如果SQL查询错误输出错误,则会产生一个(相当简陋的)错误捕获。同样,这应该在生产中删除,但将帮助您找到SQL错误。

如果没有SQL错误返回,你的数据库中有一个空表,或者某种PHP错误,但是从代码示例中给出的最可能的错误是你的PHP没有运行MySQL并且只会运行PDO或MySQLi。

你还说&#34;当我在浏览器中打开页面时,它是一个空白页面,如果页面的来源是空白的 - 就像它没有显示那样

<html>

等,然后这是PHP执行失败的标志,你有错误的PHP,如错误日志文件中所述。

如上所述,代码示例中最可能的原因是,您的PHP版本不支持MySQL。

如果你的

<table> 

标记出现在HTML源代码中,这表示While子句未运行,这意味着您的Datbase表为空,并且没有要输出的数据。

希望这会有所帮助。但第一个要点是升级到MySQLi :)