无法使用PHP7.2从mysql数据库中选择数据

w9apscun  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(304)

拜托,我还没弄清楚这个代码怎么了

<?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();    ?>

不知何故,如果我尝试向数据库中插入任何内容,它工作得很好,但是如果我尝试选择,它只显示“error creating table:”,没有显示任何错误。。。。。。我到处搜索,但没有找到解决方案,我在我的网络服务器上使用php7.2

5ssjco0h

5ssjco0h1#

为了 SELECT (以及 SHOW , DESCRIBE 以及 EXPLAIN )查询 mysqli::query 返回一个 mysqli::result 对象,而不是布尔值。所以你的测试

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

总是会失败。您应该做的是检查查询是否失败(通过将返回值与 false ),则可以使用返回的对象从结果集中提取行,方法是使用函数,例如 mysqli_result::fetch_assoc .

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

相关问题