PHP while函数与mysql查询

PHP while函数与mysql查询,php,mysql,while-loop,Php,Mysql,While Loop,我正在尝试更改此行:while($number=fgetcsv($handle,32768,,'))!==FALSE)以检查用户是否有执行任务的限制 我想添加类似这样的内容:SELECT*FROM user WHERE user=$username和queryused

我正在尝试更改此行:
while($number=fgetcsv($handle,32768,,'))!==FALSE)
以检查用户是否有执行任务的限制


我想添加类似这样的内容:SELECT*FROM user WHERE user=$username和queryused如果得到结果,则
函数继续运行,如果没有,则停止。

如@arieljuod所建议的,您可以这样做

$count = 0;
while ($count < YOUR_LIMIT && $number = fgetcsv($handle, 32768, ',')){
    //do query
    $count++;
} 
$count=0;
而($count
这样,每次迭代时,只有当$number被设置为一个值并且之前的每个查询都成功时,循环才会执行该函数。如果查询失败,则没有其他迭代会通过该条件

注意:您正在while条件中分配$variable number。如果它收到一个“truthy”值(即非0、空等),则它将被识别为“truthy”,即使它本身不是布尔值

您应该在循环之前只加载一次“limit”和“queryused”,执行循环,然后更新queryused的值,如

$used = query_to_get_queryused_from_db;
$limit = query_to_get_limit_from_db;
$count = 0;
while($count+$used < $limit && $number = fgetcsv($handle, 32768, ',')){
  //something
  $count++;
}
query_to_update_queryused_on_db //using $count+$used
$used=query\u从\u数据库获取\u queryused\u;
$limit=query\u从\u数据库获取\u limit\u;
$count=0;
而($count+$used<$limit&&$number=fgetcsv($handle,32768,',')){
//某物
$count++;
}
使用$count+$used在\u db//上查询\u到\u更新\u查询的\u

在每次迭代中执行一个查询是非常糟糕的,请始终避免在循环中执行查询,只有在没有其他方法的情况下才执行查询

在while之前使用一些变量作为条件,然后在while的每次迭代结束时将查询结果指定给该变量,我不确定我是否理解right@arieljuod这就是我想要的,但我不是专家,你能帮我吗?你如何运行查询?询问了什么?限制是什么?任何代码?queryused=每次while函数执行循环时,它都会向queryused添加一个,因此它类似于queryused+1,限制while函数可以工作的次数,如果queryused高于限制,它将不再工作。当然,但计数和限制应该在每次它像重循环一样循环时从DB加载。。。但您可以在单独的查询中执行此操作,存储值,如果确实需要,还可以在其他查询中使用它们。