我试图用PHP打印我的MySQL数据库的内容。
这就是我的数据库的样子:
mysql> show tables;
+-------------------+
| Tables_in_myTable |
+-------------------+
| users |
+-------------------+
1 row in set (0,00 sec)
mysql> select * from users;
+------------+
| name |
+------------+
| Nick |
+------------+
1 row in set (0,00 sec)
我的PHP代码如下所示:
<?php
echo "HI"; //to see, that the php gets runned at all.
$connection = mysql_connect('localhost', 'root', ''); //The Blank string is the password
mysql_select_db('myTable');
$query = "SELECT * FROM users";
$result = mysql_query($query);
echo "<table>";
while($row = mysql_fetch_array($result)){
echo "<tr><td>" . $row['name'] . "</td></tr>";
}
echo "</table>";
mysql_close();
?>
但是在网站上,我得到的唯一输出是
"HI"
我在PHP中检查了用户名,passwd和DB-Names。
我正在Ubuntu上运行apache2服务器(Ubuntu Gnome,如果重要的话)16.10和MySQL的社区版
答案 0 :(得分:2)
mysql_select_db选择database
,但您将表名作为参数传递。表名与数据库名不同。使用
show databases;
并在mysql_select_db
此外,不推荐使用mysql_*
个函数,您需要使用mysqli_*
函数或PDO。
运行像
这样的查询也是一个坏主意SELECT * FROM users
最好明确选择您需要的列,例如
SELECT name FROM users
修改
我对数据库名称感到困惑,这似乎确实是myTable。问题是找不到已弃用的功能。
答案 1 :(得分:2)
鉴于您的错误消息Call to undefined function mysql_connect()
,您可能看起来有一个缺少mysql_
库的PHP版本。
在{x,and there are many reasons for that中移除了mysql_
库。您要么必须使用mysqli或PDO重写代码,要么将PHP版本降级为5.x(尽管我强烈反对这一点)。