-4

我有一个有效的 SQL 查询,并且在循环内我想要调用另一个 SQL 查询,我希望它只有一个结果,但我得到一个错误。

这是代码:

$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_dbmysql_query.

最后但并非最不重要的一点是,在循环中发送查询是一个坏主意,并且您忘记了实际检索结果。

最后,由于您似乎根本没有 PHP/MySQL 知识,因此您应该真正遵循以下建议:
请不要mysql_*在新代码中使用函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程

于 2013-03-31T11:46:57.680 回答
0

尝试这个

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

我建议使用PDOorMySqli因为 MySql_*已弃用。

于 2013-03-31T11:48:02.007 回答