INNER JOIN SQL查询不能与PHP一起工作
问题描述:
我在我的数据库中创建了两个表,通常我的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);
?>
答
尝试调试像
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());
}
答
似乎有在你的程序没有错误!确保数据库连接建立与否
if (!$conn) {
die('Could not connect: ' . mysqli_connect_error());
}
mysql查询似乎是正确的..更好地发布您的数据库结构!并检查列名
firsttable.secondtable_id = secondtable.secondtable_id
在你的代码
都是secondtable_id,是正确的列名?
发表这两个表的架构 – Exprator
'SELECT * FROM firsttable INNER JOIN secondtable ON firsttable.secondtable_id = secondtable.secondtable_id'您是否在MySQL Workbench或任何其他DATABASE IDE中尝试了此查询? –
如果您在PHP之外运行它,此查询是否会返回任何数据? – Mureinik