0

髪の毛を抜く準備ができています。なぜこれがエラーになるのか理解できません。このような他のすべてのSQLクエリを1つの問題なしで実行します。ここで何が欠けていますか?

<?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_ます。それらはもはや維持されておらず、公式に非推奨になっています。赤いボックスが表示されますか?代わりにプリペアドステートメントについて学び、 PDOまたはMySQLiを使用してください-この記事はどちらを決定するのに役立ちます。

于 2013-01-18T03:42:12.203 に答える
1

前は正しいです。ADOは間違いなく推奨されますが、質問への回答として、「_ fetch_array()」ではなく「_fetch_row()」を使用する必要があります。「_fetch_array()」を呼び出すと、結果は1つだけになり、ループ内で繰り返すものは何もありません。

于 2013-01-18T03:47:11.927 に答える
1

問題はここにあります"$result = mysql_query(" SELECT * FROM message WHERE to = 1 ");"..このような予約語は使用できません。このタイプの予約語には引用符を使用してください。 '。mysqlの他の予約語については、リンクhttp://dev.mysql.com/doc/refman/5.5/en/reserved-words.htmlを参照してください。

于 2013-01-18T04:53:18.763 に答える