gpt4 book ai didi

php - 在 PHP MySQL LIMIT 中使用 $variable

转载 作者:行者123 更新时间:2023-11-28 23:17:41 25 4
gpt4 key购买 nike

这是我在 php 脚本中使用的当前代码。

$prodid = $_GET['id'];
$query = mysql_query("SELECT * FROM table1 WHERE productid = '$prodid'
ORDER by amount DESC LIMIT 3");

我已将 LIMIT 设置为 3。但我想定义类似“$count”的内容,$count 的值应该从 MySQL 查询中获取,即

$count = mysql_query("SELECT count FROM table1 WHERE productid = '$prodid'");

LIMIT 必须根据“$prodid”进行更改。像这样,

mysql_query("SELECT * FROM table1 WHERE productid = '$prodid' 
ORDER by amount DESC LIMIT '$count'");

最佳答案

一些事情。

首先,您使用此查询来查找要获取的行数。

 "SELECT count FROM table1 WHERE productid = '$prodid'"

应该说

 "SELECT COUNT(*) FROM table1 WHERE productid = '$prodid'"

为了得到行数。

而且,它应该说

 "SELECT COUNT(*) FROM table1 WHERE productid = " . intval($prodid) 

避免 sql 注入(inject)(假设您的 prodid 值为整数)。

其次,上面的查询返回单行结果集。您需要实际阅读该行。我不会告诉你如何使用 mysql_ 来做到这一点,因为 现在只有傻瓜才使用 mysql_ 请使用 PDOmysqli_

第三,这个查询

"SELECT * FROM table1 WHERE productid = " . intval($prodid) . " ORDER by amount DESC"

总是 返回您之前查询所需的行数。因此,在您给出的示例中,您的 LIMIT 子句完全没有必要。

关于php - 在 PHP MySQL LIMIT 中使用 $variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43143555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com