0

作業しているページに問題があり、そのエラーが発生します。誰か助けてくれませんか?

ありがとう

<?php
include 'connect.php';
$desc1 = mysql_query("SELECT * FROM desc WHERE descnum='1'");
$desc2 = mysql_fetch_assoc($desc1);
?>
<link rel="stylesheet" type="text/css" href="style.css" />
<div id="bar" align="center">
<h3><a href="index.php"/>Home</a></h3>
</div>
<div id="desc">
<?php echo $desc2['description']; ?>
</div>
4

2 に答える 2

1

テーブル名 desc が原因で問題が発生している可能性があります。sql/mysql では、desc は降順を意味するソート演算子です。これは基本的に予約済みのキーワードであるため、SQL ステートメントが無効であり、有効な結果が返されない可能性があります。

于 2012-09-25T03:34:36.053 に答える
1

TomCは頭に釘を打ちました。「desc」は理想的なテーブル名ではありません。これは、バッククォート「`」を使用してすべてのテーブル名と列名を囲むことで簡単に克服できます。

$desc1 = mysql_query("SELECT * FROM `desc` WHERE `descnum`='1'");

さらに、クエリの実行を編集して mysql_error 関数を含め、SQL エラーを返すこともできます。

$desc1 = mysql_query("SELECT * FROM `desc` WHERE `descnum`='1'") or die(mysql_error());

最後に、PHP は mysql 拡張機能を推奨していません...代わりに、MySQLi 拡張機能または準備済みステートメント ( http://php.net/manual/en/function.mysql-query.php )を使用してください。

于 2012-09-25T03:45:30.893 に答える