我有一个表'字段'c_number'作为主键。现在我在两个表中使用了这个主键作为外键:调用和计费。 任何人都可以帮助我为什么这个查询不起作用
$q="select c_number, type, billing.days from calls, billing where calls.c_number=billing.c_number group by c_number";
$r=mysql_query($q);
while($row=mysql_fetch_array($r))
{
echo $row['days'];
}
查询不起作用,并给出了错误:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\vas1\b.php on line 61
第61行:
while($row=mysql_fetch_array)
答案 0 :(得分:1)
像这样改变你的
$q="select c_number, type, billing.days from calls, billing where calls.c_number=billing.c_number group by c_number";
$r=mysql_query($q);
while($row=mysql_fetch_array($r))
{
echo $row['days'];
}
另外,作为建议,请注意不推荐使用原始MySQL API,来自docs:
自PHP 5.5.0起,此扩展程序已弃用,并将在中删除 未来。相反,应该使用MySQLi或PDO_MySQL扩展。 另请参阅MySQL:选择API指南和相关常见问题解答以获取更多信息 信息。
这里是PDO的docs
答案 1 :(得分:0)
它会出错,因为您尚未将结果提供给mysql_fetch_array()
函数。
它应该是这样的:mysql_fetch_array($r)
还考虑在sql语句中的值中使用引号。
你会在this link中找到几个mysql_fetch_array()的例子。