0

次のクエリがあります-

$query = mysql_query("SELECT * FROM test where admin = 'Yes' order by name = '$_GET[name]' DESC");

while($row = mysql_fetch_array($query))
{
   $id.=$row[id];
}

echo $id;

$_GET[name] の id から始まる id のリストが必要ですが、下の行の開始名を持つリストを返していますか? 何か案は?

どうもありがとう。

4

1 に答える 1

1
  1. 配列を使用する

  2. 列名を引用符で囲む必要があります

$query = mysql_query("SELECT * FROM test where admin = 'Yes' order by name = '$_GET[name]' DESC");

$ids = array();
while($row = mysql_fetch_array($query))
{
   $ids[] =$row['id'];
}

// Your IDs are now in an array which is easier to work with
print_r($ids);

参考までに、新しいコードでは関数を使用しないでくださいmysql_*。それらはもはや保守されておらず、公式に廃止されています。赤いボックスが見えますか? 代わりに準備済みステートメントについて学び、 PDOまたはMySQLiを使用してください。この記事は、どちらを決定するのに役立ちます。PDO を選択する場合は、ここに良いチュートリアルがあります。

また、 SQL インジェクションに対して広くオープンです

于 2013-02-26T01:16:07.517 に答える