简单的问题(我认为)。
我有以下PHP / MySQL脚本:
$risksql="select risk from jobsrisks where job='$job'";
$executerisks=mysql_query($risksql);
$test=mysql_fetch_array($executerisks);
$riskrows=mysql_num_rows($executerisks);
我想打印数组的值(用于测试),代码为:
print_r($test);
这会产生以下输出:
查询,在php中实际输出3条记录,而不只是一条重复记录。任何想法,我做错了吗?其他记录在哪里,为什么不在数组中呢? mysql_fetch_array是否使用正确的代码?
然后我想在另一个mysql查询中使用PHP数组:$ids = join(',',$test);
$sql = "SELECT * FROM table WHERE risk IN ($ids)";
这会是正确的吗?
一如既往地感谢帮助。
谢谢, [R
答案 0 :(得分:2)
你需要获取每一行,即:
while ($row = mysql_fetch_assoc($result)) {
echo $row['firstname'];
echo $row['lastname'];
echo $row['address'];
echo $row['age'];
}
检查manual
$ids = join(',',$test);
$sql = "SELECT * FROM table WHERE risk IN ('$ids')";
几乎是正确的。不要忘记引号
答案 1 :(得分:0)
为什么不加入选择?
$sql = "SELECT * FROM table WHERE risk IN (SELECT risk FROM jobsrisks WHERE job='$job')";