gpt4 book ai didi

php - mysqli参数错误-数据库连接工作正常吗?

转载 作者:行者123 更新时间:2023-12-03 07:59:46 25 4
gpt4 key购买 nike

我正在向一个表中的列添加值。我的目标是通过表格在页面上显示列数据。但是,当我添加此代码(以遍历表并显示数据)时,出现错误:

<?php

while($row = mysqli_fetch_array($result)) {
$customer_name = $row['customerName'];

echo "<tr>
<td>$customer_name</td>
</tr>";

} // end while loop
?>

错误

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in xxx on line 35



我已经对该错误进行了一些研究,我已经看到响应说数据库连接可能不正确。但是,我检查了数据库,并确实在表中正确输入了该值,因此连接或查询数据库没有问题。

我也注释掉了上面的代码,HTML也显示正常。我已经将问题隔离到上面的while/array代码中。仅当将那段代码添加到脚本中时,才会出现该错误。

如果您发现任何可能导致错误且表格未显示的问题,请告诉我。我为类似的脚本使用了相同类型的代码,但从未设置参数,而且效果很好。

如果需要,这是完整的代码:
<?php
require_once("./includes/database_connection.php");

error_reporting(E_ALL);
ini_set('display_errors', 1);

$query = "INSERT INTO customers(customerName) VALUES('IKB')";

$result = mysqli_query($dbc, $query)
or die ('Error querying databse');
?>

<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>Home</title>
<link type="text/css" rel="stylesheet" href="classic_cars.css" />
</head>

<body>
<?php
require_once("./includes/navigation.php");
?>

<table>
<tr>
<td>customerName</td>
</tr>
</table>

<?php

while($row = mysqli_fetch_array($result)) {
$customer_name = $row['customerName'];

echo "<tr>
<td>$customer_name</td>
</tr>";

} // end while loop
?>

<?php
mysqli_close($dbc);
require_once("./includes/footer.php");
?>
</body>
</html>

这是数据库连接:
<?php
define('DB_LOCATION', 'x');
define('DB_USERNAME', 'x');
define('DB_PASS', 'x');
define('DB_NAME', 'x');

$dbc = mysqli_connect(DB_LOCATION, DB_USERNAME, DB_PASS, DB_NAME)
or die('Error connecting to database');
?>

最佳答案

the manual中,有关返回值的部分:

Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.



您的查询是 INSERT,因此返回类型将为 bool(boolean) 值TRUE或FALSE。这就是为什么 $result是 bool(boolean) 值而不是mysqli_result对象的原因。

似乎,至少在您的示例代码中,您已经在开始时就知道了客户名称,以便执行 INSERT,所以为什么不保存该值以便以后重复使用?否则,如果您确实确实出于任何原因需要再次从数据库中检索完整记录,则需要在执行 SELECT之前执行新的 while($row = mysqli_fetch_array($result))查询。

关于php - mysqli参数错误-数据库连接工作正常吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30560878/

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