$quantity=$_POST['quantity'];
do{
$request="SELECT id, name, type, price FROM `corro`.`food`";
$result=mysql_query($request);
}while(quantity>0)
问问题
198 次
5 回答
1
首先,您有一个语法错误:
while (quantity > 0)
应该 :
while ($quantity > 0)
但是如果您执行代码,如果 $quantity 实际上大于 0 ,您将有一个无限循环:这只会一遍又一遍地执行您的查询,因为您永远不会减少 $quantity。
我猜你的表中有一个数量列,所以你应该做的是把条件放在你的 SQL 查询中。使用PDO会给你:
$stmt = $dbh->prepare("SELECT id, name, type, price FROM food WHERE quantity > ?");
$stmt->execute(array($_POST['quantity']));
$results = $stmt->fetchAll();
编辑(按照最新答案)
于 2013-11-15T09:23:05.083 回答
0
您的 while 循环无限次运行尝试为您的代码提供条件,如下面的演示代码
$quantity=$_POST['quantity'];
$quantity_count = 0;
do{
$request="SELECT id, name, type, price FROM `corro`.`food`";
$result=mysql_query($request);
$quantity_count++;
}while($quantity>0 && $quantity_count < 10); //This is demo code
于 2013-11-15T09:27:54.810 回答
0
$quantity=$_POST['quantity'];
if($quantity>0){
$request="SELECT id, name, type, price FROM `corro`.`food`";
$result=mysql_query($request);
}
于 2013-11-15T09:23:00.437 回答
0
只需在您的mysql_query
请注意,mysql_*
函数现已弃用,不应使用。请改用mysqli。mysql 的查询将是SELECT id, name, type, price FROM corro.food WHERE quantity>0
于 2013-11-15T09:24:59.843 回答
0
根据您的评论,我认为是这样的:
$quantity=$_POST['quantity'];
$request="SELECT id, name, type, price FROM `corro`.`food` WHERE quantity>0";
$result=mysql_query($request);
于 2013-11-15T09:28:55.427 回答