无法使用PHP 7.2从MySQL数据库中选择数据

时间:2018-09-06 00:48:05

标签: php mysql sql select mysqli

请我还不太清楚这段代码有什么问题

<?php $servername = "blee.com";
$username= "free";
$password = "free";
$dbname = "one";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);

$sql = "SELECT * FROM users";
if ($conn->query($sql) === TRUE) { 
        echo "success";
} else {
        echo "Error creating table: " . $conn->error; 
}
$conn->close();    ?>

以某种方式,如果我尝试向数据库中插入任何内容,则可以正常工作,但是如果我尝试选择,它只会显示“错误创建表:”,而不会显示任何错误……我已经搜索了到处都找不到解决办法     我在Web服务器上使用php7.2

1 个答案:

答案 0 :(得分:7)

对于SELECT(以及SHOWDESCRIBEEXPLAIN)查询,mysqli::query返回mysqli::result对象,如果成功,则不返回一个布尔值。所以你的测试

if ($conn->query($sql) === TRUE)

将始终失败。相反,您应该做的是检查查询没有失败(通过将返回值与false进行比较),然后可以使用返回的对象通过使用诸如{{3 }}。

$result = $conn->query($sql);
if ($result !== false) { 
    // do something with results e.g.
    // while ($row = $result->fetch_assoc()) { print_r($row); }
}