表存在于PHPmyAdmin中,但在PHP中不使用SHOW TABLES查询

时间:2014-08-02 23:32:51

标签: php mysql phpmyadmin

我是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 连接已关闭。

有人可以告诉我如何解决这个问题吗?谢谢!

1 个答案:

答案 0 :(得分:0)

从查询中删除'

$query_1="SHOW TABLES FROM $db_name'";

所以它看起来像这样:

$query_1="SHOW TABLES FROM $db_name";

致Fred的信用(发布为社区Wiki以结束问题)