SELECT返回错误,但INSERT有效

时间:2018-03-23 21:46:55

标签: php mysql mariadb

运行此代码时,它会返回错误,但只显示返回$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;

?>

返回到屏幕:错误:从预订中选择电子邮件;

3 个答案:

答案 0 :(得分:0)

Here您可以找到有关查询功能的文档。 您有错误,因为 $ conn-&gt;查询($ sql)=== TRUE 语句为false。

Query method返回取决于您要插入的查询类型。 成功的SELECT,SHOW,DESCRIBE或EXPLAIN方法返回对象,对于任何其他返回 true

答案 1 :(得分:-1)

试试这个:

<?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 ($data = $conn->query($sql)) {
    var_dump($data);
    echo 'Successfull';
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

echo $conn->error;

?>

答案 2 :(得分:-3)

一切都是对的,但你在查询中有错误所以改变

像这样: -

$ sql =&#34; SELECT * from booking&#34 ;;

相关问题