我是stackoverflow的新用户,我确实搜索了类似的问题,我发现了很多,但没有一个以一种帮助我的方式解决。所以这就是为什么我问这个,即使它可能是重复的。 (例如,这个似乎与我遇到的问题相同:MySQL table exists on server but cannot access it from PHP)
我使用PHPmyAdmin在我的数据库(测试)中创建了一个表(成员)。如果我在那里进行SQL查询以显示SHOT TABLES FROM test,则会列出表“members”。但是,PHP似乎无法访问它。这是我的文件access_test_table.php:
<html>
<body>
Testing.<br>
<?php
$host="localhost"; // Host name
$username="username"; // Mysql username
$password="password"; // Mysql password
$db_name="test"; // Database name
$tbl_name="members"; // Table name
echo "The host is $host<br/>";
echo "The username is $username<br/>";
echo "The password is $password<br/>";
echo "The db name is $db_name<br/>";
echo "The table name is $tbl_name<br/>";
// Connect to server and select databse.
$con=mysqli_connect("$host","$username","$password","$db_name");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
echo "<br/>";
}
else {
echo "Connected to database.<br/>";
}
//Want to show the tables in the database
$query_1="SHOW TABLES FROM $db_name'";
$result_q1 = mysqli_query($con,$query_1);
if (!mysqli_query($con,$query_1))
{
echo("Errorcode: " . mysqli_errno($con));
echo "<br/>";
}
else {
echo "The following tables are in the database: " . $result_q1;
echo "<br/>";
}
mysqli_close($con);
echo "Connection closed.";
?>
</body>
</html>
我检查过“用户名”与用于创建表的用户相同,并且具有访问权限的权限。我还更新为不使用mysql_ *命令,而是使用mysqli_ *命令。最后,我尝试使用mysqli_multi_query,但结果是一样的。这是页面上代码的输出:
测试。 主机是localhost 用户名是用户名 密码是密码 db名称是test 表名是成员 连接数据库。 错误代码:1064 连接已关闭。
有人可以告诉我如何解决这个问题吗?谢谢!
答案 0 :(得分:0)
从查询中删除'
:
$query_1="SHOW TABLES FROM $db_name'";
所以它看起来像这样:
$query_1="SHOW TABLES FROM $db_name";
致Fred的信用(发布为社区Wiki以结束问题)