0

我正准备把头发拉出来,我不明白为什么这会给我一个错误,我做所有其他这样的 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);
?>

结构

数据库

4

3 回答 3

4

to是一个保留字

您需要将其包含在刻度线中。

WHERE `to` = ...

您还需要停止使用mysql_函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。

于 2013-01-18T03:42:12.203 回答
1

前面是对的。ADO 绝对是首选,但在回答您的问题时,您需要使用“_fetch_row()”而不是“_fetch_array()”。当您调用“_fetch_array()”时,只有一个结果,并且在您的循环中没有可以迭代的内容。

于 2013-01-18T03:47:11.927 回答
1

问题出在这里 "$result = mysql_query("SELECT * FROM message WHERE to=1 ");".. 你不能像这样使用保留字.. 对这种类型的保留字使用引号.. 像 'to '。有关mysql 中的其他保留字,请参阅链接http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

于 2013-01-18T04:53:18.763 回答