2017-07-19 31 views
-2

我在我的数据库中创建了两个表,通常我的php文件能够从mysql获取表数据。
但是,当我添加INNER JOIN或类似的东西时,它不再起作用。没有看到输出,但也没有错误信息(所以代码必须是正确的,我认为)。INNER JOIN SQL查询不能与PHP一起工作

这里是我的PHP代码:

<?php 

$db_name = "mydatabase"; 
$mysql_username = "root"; 
$mysql_password = ""; 
$server_name = "localhost"; 


$conn = mysqli_connect($server_name,$mysql_username,$mysql_password,$db_name); 

$query = mysqli_query($conn,"SELECT * FROM firsttable INNER JOIN secondtable ON firsttable.secondtable_id = secondtable.secondtable_id"); 

    while($row = mysqli_fetch_array($query)) 
    { 
     $flag[] = $row; 
    } 

    print(json_encode($flag)); 
mysqli_close($conn); 

?> 
+2

发表这两个表的架构 – Exprator

+0

'SELECT * FROM firsttable INNER JOIN secondtable ON firsttable.secondtable_id = secondtable.secondtable_id'您是否在MySQL Workbench或任何其他DATABASE IDE中尝试了此查询? –

+1

如果您在PHP之外运行它,此查询是否会返回任何数据? – Mureinik

回答

0

尝试调试像

1.if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 


2.$query = mysqli_query($conn,"SELECT * FROM firsttable INNER JOIN secondtable ON firsttable.secondtable_id = secondtable.secondtable_id"); 
    if (!$query) { 
     die('Invalid query: ' . mysql_error()); 
    } 
0

似乎有在你的程序没有错误!确保数据库连接建立与否

if (!$conn) { 
    die('Could not connect: ' . mysqli_connect_error()); 
} 

mysql查询似乎是正确的..更好地发布您的数据库结构!并检查列名

firsttable.secondtable_id = secondtable.secondtable_id 
在你的代码

都是secondtable_id,是正确的列名?