【问题标题】:Why isn't the "message" field being pulled from my MYSQL database?为什么没有从我的 MYSQL 数据库中提取“消息”字段?
【发布时间】:2012-04-04 03:58:26
【问题描述】:

我正在尝试从主页正文中的随机数据库条目(在我的数据库的消息表中)返回“消息”字段。

这是我的 index.php 文件。我已经通过 connect.php 验证了与数据库的链接是有效的。

<html>
<body>

<?php 
include_once('connect.php');
$quote=$_GET['message'];
$sql="SELECT message FROM messages ORDER BY RAND()LIMIT 1";
$results=mysql_query($sql, $link);
while(list($message)=mysql_fetch_array($results)){
echo $message;
}

mysql_close();


?>

</body>
</html>

你能看出我做错了吗?我确定我在某处犯了严重错误。

感谢您的帮助!

【问题讨论】:

  • 按 rand() 排序仅适用于小型数据库
  • @Dagon 这是一个非常小的数据库。

标签: php mysql html random


【解决方案1】:

错别字:

$sql="SELECT message FROM messages ORDER BY RAND()LIMIT 1";
                                                  ^--missing a space

如果您只进行了最低限度的查询错误处理,您就会发现:

$results=mysql_query($sql, $link) or die(mysql_error());

永远不要假设查询已经成功。即使 SQL 语法 100% 有效,也有太多其他原因导致无法检查失败。

【讨论】:

  • 感谢您的帮助和建议。从现在开始,我一定会在所有内容中添加 die 功能。干杯!
  • or die() 便于调试,但对于生产系统,您需要更用户友好的东西。 mysql 错误消息可能会泄露大量应该保密的内容。
猜你喜欢
  • 1970-01-01
  • 2016-10-15
  • 1970-01-01
  • 2022-07-14
  • 2020-01-22
  • 1970-01-01
  • 1970-01-01
  • 2021-09-27
  • 1970-01-01
相关资源
最近更新 更多