MySQL PHP:无法获得任何结果

时间:2017-02-13 17:19:12

标签: php mysql

我试图用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的社区版

2 个答案:

答案 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(尽管我强烈反对这一点)。