php - 为什么这个 php SELECT FROM 查询不起作用?
问题描述
这是我的简单php代码:
<!DOCTYPE html>
<html>
<body>
<?php
$servername = "localhost";
$username = "root";
$password = "********"; //hiding my password
$dbname = "course";
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT name FROM tutors";
$result = $conn->query($sql);
if( $result === true ) {
echo "good";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
while($row = $result->fetch_assoc()) {
echo $row["name"];
}
?>
</body>
</html>
在我的名为“course”的数据库中,我有一个名为“tutors”的表,其中有一列名为“name”。我在该表中有两个条目,分别名为“深思”和“比利牛斯”。
但是,当此代码运行时,唯一打印出来的是:
错误:从导师中选择姓名
它应该简单地打印出我之前提到的两个名称。
有谁知道为什么会这样?我知道我的表中有两个条目!
解决方案
我认为“名称”这个词是 MySQL 的保留字。将您的查询变量包装在一个波浪号像这样的反引号:
$sql = "SELECT `name` FROM `tutors`";
这有助于从 MySQL 中转义这些值,以为您正在尝试引用内置变量。
推荐阅读
- java - 多线程:为什么在“我是懒线程”之前打印“主线程结束”?
- c# - WPF ItemsControl 和错误的 DataGrid
- html - 内容前的空白
- selected - 如何在选择类型奏鸣曲管理包上设置选定的选项
- azure-functions - 跨存储库的 Azure 持久函数
- java - 线程“主”java.lang.NoClassDefFoundError 中的异常:oracle/stellent/ridc/IdcClientManager
- python-3.x - Python 多行字符串的优雅解决方案?
- spring-cloud-contract - Spring Cloud 合约调试
- arrays - 如何使用循环变量创建二维 TCL 数组?
- java - 使用 Eclipse 和 Tomcat 时出现 404 错误