-4

機能する SQL クエリがあり、ループ内で別の SQL クエリを呼び出したいのですが、結果は 1 つしかないと予想されますが、エラーが発生します。

コードは次のとおりです。

$i = 0;
$query = mysql_query("SELECT * FROM `orders` ORDER BY `ID` ASC ");
while($row = mysql_fetch_array($query)) 
{
    $i++;
    $productResult = mysql_select_db("SELECT * FROM `page` WHERE 'id'=".$i."'");
}

そして、このコードから取得したいものは次のとおりです。

<?=$productResult['title'];?>

どうすれば修正できますか?私は問題がこの行にあることを知っています:

mysql_select_db("SELECT * FROM `page` WHERE 'id'=".$i."'");
4

2 に答える 2

6

一重引用符を削除する必要がありidます。MySQL でテーブル/列名を引用する場合は、バックティックを使用する必要があります。ただし、予約済みのキーワードである名前を使用しない限り、そうする理由はありません。

に置き換える必要もありmysql_select_dbますmysql_query

最後になりましたが、ループ内でクエリを送信することは悪い考えであり、実際に結果を取得するのを忘れていました。

そして最後に、あなたはまだ PHP/MySQL の知識がまったくないように見えるので、本当に従うべき提案があります:
Please, don't use mysql_*functions in new code . それらはもはや保守されておらず、公式に廃止されています。赤いボックスが見えますか? 代わりにプリペアド ステートメントについて学び、 PDOまたはMySQLiを使用してください。この記事は、どちらを決定するのに役立ちます。PDO を選択する場合は、ここに良いチュートリアルがあります。

于 2013-03-31T11:46:57.680 に答える
0

これを試して

mysql_query("SELECT * FROM `page` WHERE `id`=".$i);

PDOorは推奨されていないMySqliため 、使用することをお勧めしますMySql_*

于 2013-03-31T11:48:02.007 に答える