用php实现mysql连接查询
我正在尝试连接2个表查询,以下是我的php代码:用php实现mysql连接查询,php,mysql,join,Php,Mysql,Join,我正在尝试连接2个表查询,以下是我的php代码: table: database1.comment id | owner_id | comment 1 | 1 | some words 2 | 1 | some words 3 | 2 | some words table: database2.users id | display_name 1 | admin 2 | guest $result=mysql\u query
table: database1.comment
id | owner_id | comment
1 | 1 | some words
2 | 1 | some words
3 | 2 | some words
table: database2.users
id | display_name
1 | admin
2 | guest
$result=mysql\u query(“SELECT*FROM database1.comment internal JOIN database2.users ON database1.comment.owner\u id=database2.users.id order by database1.comment.id DESC”);
while($row=mysql\u fetch\u数组($result)){
回显“”.$row['display_name'].:”.$row['comment'. ”;
}
我收到一条错误消息:警告:mysql\u fetch\u array()期望参数1是资源,给定布尔值
。如何生成工作代码(优化方式)如果查询无效(或“失败”),mysql\u query()将返回“false”(而不是数组)
建议:
当没有结果时,mysql\u query在成功时返回资源,在失败时返回boolen false
嗯,您的查询失败了。在尝试获取行之前检查错误<代码>如果(!$result)回显mysql_错误()代码>您得到一个错误。尝试调用mysql\u error()并发布错误消息。语法看起来不错,但可能是两个数据库之间的数据库用户权限问题。我认为您需要像这样使用mysql\u查询:“mysql\u query”(“SELECT DESC;”);`//注意额外的
代码>inside@fishman那好吧。如果需要通过一个连接查询2个数据库,则需要当前连接的用户。。。
$result = mysql_query("SELECT * FROM database1.comment INNER JOIN database2.users ON database1.comment.owner_id=database2.users.id order by database1.comment.id DESC");
while ($row = mysql_fetch_array($result)){
echo '<li>'.$row['display_name'].': '.$row['comment'].'</li>';
}
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
die('Invalid query: ' . mysql_error());
}