我有这样的代码:
<?php
$data = mysql_query("SELECT id FROM board") or die(mysql_error());
while($info = mysql_fetch_assoc($data))
{
Print " ".$info['id']." ";
myOtherQuery($info['id']);
}
function myOtherQuery($id) {
$result = mysql_query("SELECT COUNT(is_following_board_id) FROM follow WHERE is_following_board_id='$id'");
$c = mysql_result($result, 0);
}
?>
它列出所有ID的旁边带有数字,在所述第二查询定义为$c
上方。
为了简单起见,我删除了代码的HTML,但它在表中对齐。
我想ORDER BY
$c
,但不知道该怎么做。如果我添加$data = mysql_query("SELECT id FROM board")
它的错误:因为它被定义选择查询后$data = mysql_query("SELECT id FROM board ORDER BY '$c'")
请问有什么可以添加到代码的底部,使通过劳动这个命令?
$ c表示归因于指示流行度的id的分数。我正在尝试通过受欢迎程度排序,就像在某项“前100名”中一样。 –
'$ c'是一列吗?而且,你的代码是高度可注射的。学习如何使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli)准备好的语句。 –
您只能使用ORDER BY使用列名而不能使用包含表中内容的变量。 –