Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用php实现mysql连接查询_Php_Mysql_Join - Fatal编程技术网

用php实现mysql连接查询

用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

我正在尝试连接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(“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”(而不是数组)

    建议:

  • 将您的SQL字符串剪切/粘贴到MySQL中,看看有什么不正确,然后修复它。在这一点上,您的PHP应该是正常的

  • 检查代码中的结果(并优雅地处理任何失败/错误):

  • 示例(错误:无“from”子句):


    当没有结果时,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());
    }