$res = mysql_query("SELECT * FROM news WHERE type='cp'"); $arr = array(); while ($rs1 = mysql_fetch_array($res)) { $arr[] = $rs1['id']; foreach ($arr as $key => $val) { $res = mysql_query("SELECT * FROM news WHERE id='{$val}'"); $rs = mysql_fetch_array($res); $name = $rs['name']; echo "$name 模块代码运行成功"; } }
晕,看得不够仔细,还是不对,照你的思路写,foreach()循环是多余的。 $res = mysql_query("SELECT * FROM news WHERE type='cp'"); while($row = mysql_fetch_array($res)) { $result = mysql_query("SELECT * FROM news WHERE id='".$row['id']."'"; $rs = mysql_fetch_array($result); $name = $rs['name']; echo "$name 模块代码运行成功"; }
对每个ID执行一条SQL这样处理的效率太低了,应该可以用一条SQL语句查询出所有的结果再用while()循环处理: $res = mysql_query("SELECT * FROM news WHERE type='cp'"); $arr = array(); while($row = mysql_fetch_array($res)) $arr[] = $row['id']; $sql = "SELECT * FROM news WHERE id IN ('".implode("','", $arr)."')"; $res = mysql_query($sql); while($row = mysql_fetch_array($res)) { $name=$rs['name']; //这里是其他执行模块代码 echo "$name 模块代码运行成功"; }
可怜的T5500 肯定用的是 GG浏览器
SELECT * FROM news WHERE type='cp' SELECT * FROM news WHERE id='$id'你的$id 不就是从 第一条SQL里取得的么?难道这两条SQL难道不能只用 SELECT * FROM news WHERE type='cp'然后 Foreach 读出里面的iid 再取得里面的 'name' ?
有 看大家的回复么,感觉T5500的代码是符合你的要求的。。$res = mysql_query("SELECT * FROM news WHERE type='cp'"); while($row = mysql_fetch_array($res)) { $result = mysql_query("SELECT * FROM news WHERE id='".$row['id']."'"; $rs = mysql_fetch_array($result); $name = $rs['name']; echo "$name 模块代码运行成功"; }
$res = mysql_query("SELECT * FROM news WHERE type='cp'"); while($row = mysql_fetch_array($res)) { $result = mysql_query("SELECT * FROM news WHERE id='".$row['id']."'"; $rs = mysql_fetch_array($result); $name = $rs['name']; echo "$name 模块代码运行成功"; } 这段里面。的错误提示的地方是 1、$result = mysql_query("SELECT * FROM news WHERE id='".$row['id']."'"; 当把这里最后面的;前加个),就可以循环。但会出现第2点错误 2、mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\www\htdocs\Untitled-11.php on line 18。 这里“on line 18”对应的是“$rs = mysql_fetch_array($result);”这句
sql语句错误,导致查询失败。检查下字段是id么?数据库中id有空值么?
mysql_query("SELECT * FROM news WHERE id='".$row['id']."'");首选确认 $row['id'] 这个有值。mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\www\htdocs\Untitled-11.php on line 18。的错误是因为执行的SQL语句有错.
这样不行的。你 print_r,看下,还是只有一个key,那就是0
$arr = array();
while ($rs1 = mysql_fetch_array($res)) {
$arr[] = $rs1['id'];
foreach ($arr as $key => $val) {
$res = mysql_query("SELECT * FROM news WHERE id='{$val}'");
$rs = mysql_fetch_array($res);
$name = $rs['name'];
echo "$name 模块代码运行成功";
}
}
$res = mysql_query("SELECT * FROM news WHERE type='cp'");
while($row = mysql_fetch_array($res)) {
$result = mysql_query("SELECT * FROM news WHERE id='".$row['id']."'";
$rs = mysql_fetch_array($result);
$name = $rs['name'];
echo "$name 模块代码运行成功";
}
$res = mysql_query("SELECT * FROM news WHERE type='cp'");
$arr = array();
while($row = mysql_fetch_array($res)) $arr[] = $row['id'];
$sql = "SELECT * FROM news WHERE id IN ('".implode("','", $arr)."')";
$res = mysql_query($sql);
while($row = mysql_fetch_array($res)) {
$name=$rs['name'];
//这里是其他执行模块代码
echo "$name 模块代码运行成功";
}
SELECT * FROM news WHERE id='$id'你的$id 不就是从 第一条SQL里取得的么?难道这两条SQL难道不能只用
SELECT * FROM news WHERE type='cp'然后 Foreach 读出里面的iid 再取得里面的 'name' ?
第二条SQL的ID 是从第一条SQL里获取的,但每次运行这个PHP文件,都只执行一次。得到的ID是最先的ID,然后执行一次,就停止了。其他ID不会循环。很郁闷。
while($row = mysql_fetch_array($res)) {
$result = mysql_query("SELECT * FROM news WHERE id='".$row['id']."'";
$rs = mysql_fetch_array($result);
$name = $rs['name'];
echo "$name 模块代码运行成功";
}
$res = mysql_query("SELECT * FROM news WHERE type='cp'");
while($row = mysql_fetch_array($res)) {
$result = mysql_query("SELECT * FROM news WHERE id='".$row['id']."'";
$rs = mysql_fetch_array($result);
$name = $rs['name'];
echo "$name 模块代码运行成功";
}
这段里面。的错误提示的地方是
1、$result = mysql_query("SELECT * FROM news WHERE id='".$row['id']."'";
当把这里最后面的;前加个),就可以循环。但会出现第2点错误
2、mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\www\htdocs\Untitled-11.php on line 18。
这里“on line 18”对应的是“$rs = mysql_fetch_array($result);”这句
sql语句错误,导致查询失败。检查下字段是id么?数据库中id有空值么?
感谢 PhpNewnew
感谢各位热心的 湿胸、姐
我就觉得奇怪,不加 其他执行代码就可以把所有ID循环echo输出,加上其他循环代码就只输出一次。原来是我的 其他循环代理 里有个 $result 自定义变量 和 这个大大的总循环(就叫他总循环吧)里的$result自定义变量冲突导致的。,改下自定义变量名称就好了。纵欲可以结贴给分了