拜托,我还没有完全弄清楚这段代码有什么问题
<?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
(以及SHOW
、DESCRIBE
和EXPLAIN
)查询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/