【发布时间】:2018-09-02 15:56:28
【问题描述】:
运行此代码时,它会返回错误,但只显示返回$sql 查询的错误代码部分。我没有描述为什么它不起作用。奇怪的是INSERT 确实使用完全相同的代码创建了一条新记录。这是为什么呢?
我已经检查了 root 用户的权限。此用户具有完全访问权限,包括 SELECT。
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "nny_gamerrum";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT email FROM booking;";
if ($conn->query($sql) === TRUE) {
echo 'Successfull';
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
echo $conn->error;
?>
返回屏幕:错误:从预订中选择电子邮件;
【问题讨论】:
-
From the manual: "对于成功的 SELECT、SHOW、DESCRIBE 或 EXPLAIN 查询 mysqli_query() 将返回一个 mysqli_result 对象。”这就是你的
=== TRUE没有通过的原因。 -
@rickdenhaan 我试过
echo mysqli_result(),但它返回一个错误,说明对象未定义。我也尝试了 `mysqli_result($conn->query($sql)) 但仍然没有返回任何内容。我阅读了手册,但找不到答案。 -
更改为
!== FALSE。