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

问题描述 投票:0回答:1

请问我还没弄清楚这段代码有什么问题

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

不知何故,如果我尝试在数据库中插入任何内容,它可以正常工作,但如果我尝试选择,它只显示“创建表错误:”没有显示错误......我已经搜索了所有但是发现没有解决方案我在我的网络服务器上使用php7.2

php mysql sql select mysqli
1个回答
8
投票

对于SELECT(以及SHOWDESCRIBEEXPLAIN)查询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); }
}
© www.soinside.com 2019 - 2024. All rights reserved.