【发布时间】:2017-03-31 14:46:42
【问题描述】:
这是我当前在 php 脚本中使用的代码。
$prodid = $_GET['id'];
$query = mysql_query("SELECT * FROM table1 WHERE productid = '$prodid'
ORDER by amount DESC LIMIT 3");
我已将 LIMIT 设置为 3。但我想定义类似 '$count' 的值,并且应该从 MySQL 查询中获取 $count 的值,即
$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'");
【问题讨论】:
-
不是总是productid = x 的记录数吗?如果 count 等于 10,然后您执行相同的查询限制 10,为什么要使用它?如果您指定限制,它将是 10 条记录。
-
首先,您使用的是 mysql_ - 一个已弃用、不安全的数据库处理程序。使用 mysqli_ 或 PDO。其次,您直接从 URL 中获取用户定义的变量,并将其放入查询中。使用 mysql_query。你想删除你的数据库吗?让我说明一下:imgs.xkcd.com/comics/exploits_of_a_mom.png
-
LIMIT '$count'=>LIMIT $count。并确保它是一个整数。 -
听上面的mkaatman...这里有逻辑错误;当现实是您想要无论如何都会返回的所有内容时,我无法想出任何理由在此查询中添加限制语句...
标签: php mysql mysqli limit offset