无法加入两个外键

时间:2013-06-15 21:00:39

标签: php mysql

我有一个表'字段'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)

2 个答案:

答案 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()的例子。