Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么在迭代和单个值时,从函数得到不同的结果?_Php_Mysql_While Loop - Fatal编程技术网

Php 为什么在迭代和单个值时,从函数得到不同的结果?

Php 为什么在迭代和单个值时,从函数得到不同的结果?,php,mysql,while-loop,Php,Mysql,While Loop,你好,谢谢你阅读我的第一个问题 我有一个php脚本,它使用函数Product($id)返回价格。当我使用: $id=1889; Product($id); 结果是正确的$549表示id=1889 不幸的是,当我使用Mysql从db生成一个id列表并在所有这些id上运行产品($id)时,一些价格(大约50/2000)完全不合适$当id=1889时为764.73!例: $result_prod=mysql_query("select * FROM product WHERE (active='ye

你好,谢谢你阅读我的第一个问题

我有一个php脚本,它使用函数Product($id)返回价格。当我使用:

$id=1889;
Product($id);
结果是正确的$549表示id=1889

不幸的是,当我使用Mysql从db生成一个id列表并在所有这些id上运行产品($id)时,一些价格(大约50/2000)完全不合适$当id=1889时为764.73!例:

$result_prod=mysql_query("select * FROM product WHERE (active='yes' AND deleted='no' AND price>0.01 AND name NOT LIKE '%&%')",$database);
while ($row_prod=mysql_fetch_array($result_prod)) {
$id=$row_prod[id];
Product($id); }

你知道为什么这样迭代会导致2.5%的坏结果吗?非常感谢

请给我们看看函数定义。还发布了一些示例
var\u dump($id)值。我想您需要向我们展示
Product()
,所以我假设您做了类似
echo$id.:';产品(港币);;回声“
来揭示这种现象吗?我假设
产品($id)
正在运行另一个MySQL查询。。。这很糟糕,您应该能够从初始查询中获得价格,或者通过使用
JOIN
修改您的查询来获得价格,只是一个旁注:使用
mysql\u fetch\u assoc