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

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

不知何故,如果我尝试向数据库中插入任何东西,它会完美地工作,但如果我尝试选择,它只会显示“错误创建表:”而没有显示任何错误……我已经搜索过了到处都是,但没有找到解决办法 我在我的网络服务器上使用 php7.2

最佳答案

对于SELECT(以及SHOWDESCRIBEEXPLAIN)查询mysqli::query返回 mysqli::result如果成功则为对象,而不是 bool 值。所以你的测试

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); }
}

关于php - 无法使用 PHP 7.2 从 MySQL 数据库中选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52195026/

相关文章:

php - Mysql Php 总是得到相同的返回

mysql - 有没有某种方法可以测量结果与全文查询的匹配程度?

php - 如何 "one column of table minus 1"?

php - 带分隔符的 txt 文件/字符串问题

php - session_start() : Failed to decode session object

php - 我如何在tomcat上安装php+oracle?

java - 如何猜测或确定 SQL 标识字段并避免重复

mysql - 从连接表中获取具有最小日期的行,但不显示该日期?

sql - 如何在 2 字符串日期之间使用命令

PHP 运算符优先级和字符串连接?