请问我还没弄清楚这段代码有什么问题
<?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
对象,而不是布尔值。所以你的考试
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); }
}