请我还不太清楚这段代码有什么问题
<?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(); ?>
以某种方式,如果我尝试向数据库中插入任何内容,则可以正常工作,但是如果我尝试选择,它只会显示“错误创建表:”,而不会显示任何错误……我已经搜索了到处都找不到解决办法 我在Web服务器上使用php7.2
答案 0 :(得分:7)
对于SELECT
(以及SHOW
,DESCRIBE
和EXPLAIN
)查询,mysqli::query
返回mysqli::result
对象,如果成功,则不返回一个布尔值。所以你的测试
if ($conn->query($sql) === TRUE)
将始终失败。相反,您应该做的是检查查询没有失败(通过将返回值与false
进行比较),然后可以使用返回的对象通过使用诸如{{3 }}。
$result = $conn->query($sql);
if ($result !== false) {
// do something with results e.g.
// while ($row = $result->fetch_assoc()) { print_r($row); }
}