我准备把我的头发拉出来,我无法弄清楚为什么这会给我一个错误,我做了所有其他SQL查询,没有一个问题。我在这里缺少什么?
<?php
require_once('config.php');
$con = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
mysql_select_db("tpeoria_main", $con);
$result = mysql_query("SELECT * FROM message WHERE to=1");
while($row = mysql_fetch_array($result)){
echo "<tr><td>".$row['from']."</td><td>".$row['body']."</td></tr>";
}
mysql_close($con);
?>
答案 0 :(得分:4)
to
是reserved word。
你需要用刻度线包住它。
WHERE `to` = ...
您还需要停止使用mysql_
个功能。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDO或MySQLi - this article将帮助您确定哪个。
答案 1 :(得分:1)
之前是正确的。 ADO绝对是首选,但在回答您的问题时,您需要使用“_fetch_row()”而不是“_fetch_array()”。当你调用“_fetch_array()”时,只有一个结果,没有东西可以循环遍历。
答案 2 :(得分:1)
问题出在这里“$ result = mysql_query(”SELECT * FROM message WHERE to = 1 “);”.. 你不能像这样使用保留字。使用这种类型的保留字的引号.. 喜欢'。 请参阅链接http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html以获取mysql中的其他保留字