gpt4 book ai didi

php - SQL 查询未在我创建的 php 命令行界面中执行

转载 作者:行者123 更新时间:2023-11-29 21:58:05 25 4
gpt4 key购买 nike

我出于自己的目的制作了一个 SQL 命令行界面,并使用以下代码进行测试:input.php

<!DOCTYPE html>
<html>
<body>
'DESC'command under dev...
<form action="output.php" method="post">
<textarea name="query"></textarea>
<input type="submit">
</form>
</body>
</html>

输出.php

<!DOCTYPE html>
<html>
<body>
<div>
<?php

$servername = "server_name"; //I do not wish to show my credentials
$username = "username";
$password = "password";
$dbname = "database";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);

// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = $_POST["query"];
$result = $conn->query($sql);
if ($result === TRUE) {
if (substr($sql, 0, 6) == "SELECT") {
//Initialize table
echo "<table class=\"table\">";
echo "<tr><th>ID</th><th>Username</th><th>Password</th><th>Email</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["id"]. "</td><td>" . $row["username"]. "</td><td>" . $row["password"]. "</td><td>" . $row["email"] . "</td></tr>";
}
echo "</table>";

echo "<code>" . $result->num_rows . " rows selected</code>";

} elseif (substr($sql, 0,11) == "INSERT INTO") {
echo "Inserted. Command: $sql";
} elseif (substr($sql, 0, 6) == "DELETE") {
echo "Deleted. Command: $sql";
} elseif (substr($sql, 0, 6) == "UPDATE") {
echo "Updated. Command: $sql";
} else {
echo "Code under dev...\nSorry!";
}
} else {
echo "ERROR: " . $conn->error;
}

echo "<br>";
?>
</div>
</body>
</html>

我已检查数据库凭据;他们都很好 - 没有连接错误。我知道这一点是因为我之前使用过包含一些数据的表。现在,在输入查询时,除了留下一条消息“错误:”之外,什么也没有发生。如果有任何错误,请通知我。

最佳答案

query() 函数仅在使用不影响行的 SQL 语句调用时返回 TRUE。在所有其他情况下,它返回 mysqli_result() 类型的对象。

这会导致 if ($result === TRUE) 跳转到 else 并显示错误。事实上没有错误,因为 $result 可能包含一个结果对象。

尝试通过将 echo $result->num_rows; 添加到 else 子句来确认这一点。

mysqli::query

请参阅mysqli::result有关如何处理查询结果的更多信息的文档。

关于php - SQL 查询未在我创建的 php 命令行界面中执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32922974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com