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_*在新代码中使用函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程

您也对SQL 注入持开放态度

于 2013-02-26T01:16:07.517 回答