【发布时间】:2019-02-17 09:18:57
【问题描述】:
过去一周我一直在试图在我的计算机上学习 MySQL。我有一个名为 users 的数据库和一个名为 users 的表,表中有数据。但是我下面有这个 PHP 代码,它不会得到任何结果,我不知道为什么。
<?php
//Connect to database
$link = mysqli_connect('localhost', 'root', '');
//Detect if it was unable to connect to database
if (mysqli_connect_error()) {
die('Unable to connect to database.');
}
//Works?
$query = 'SELECT * FROM users';
//Not working...
if ($result = mysqli_query($link, $query)) {
echo 'It Works!';
}
?>
【问题讨论】:
-
你以root用户登录mysql服务器,但没有指定查询哪个数据库
-
注意:
mysqli的面向对象接口明显不那么冗长,使代码更易于阅读和审核,并且不容易与过时的mysql_query接口混淆。在您对程序风格投入过多之前,值得转换一下。示例:$db = new mysqli(…)和$db->prepare("…")过程化接口是 PHP 4 时代引入mysqliAPI 时的产物,不应在新代码中使用 -
注意:试着改掉在一次性变量中声明 SQL 语句的习惯,这些变量只使用一次。在将查询直接提供给函数的情况下,跟踪代码要容易得多,并且不再有可能搞砸并发送
$sql3而不是视觉上相似的$sql8。