我一直收到下面列出的以下错误,我想知道如何更正此错误。
Warning: mysqli_close() expects exactly 1 parameter, 0 given in
以下是下面列出的代码。
<?php
require_once ('./mysqli_connect.php'); // Connect to the db.
function make_list ($parent) {
global $tasks;
echo '<ol>';
foreach ($parent as $task_id => $todo) {
echo "<li>$todo";
if (isset($tasks[$task_id])) {
make_list($tasks[$task_id]);
}
echo '</li>';
} // End of FOREACH loop.
// Close the ordered list:
echo '</ol>';
} // End of make_list() function.
$mysqli = new mysqli("localhost", "root", "", "sitename");
$dbc = mysqli_query($mysqli,"SELECT task_id, parent_id, task FROM tasks WHERE date_completed='0000-00-00 00:00:00' ORDER BY parent_id, date_added ASC");
if (!$dbc) {
// There was an error...do something about it here...
print mysqli_error();
}
$tasks = array();
while (list($task_id, $parent_id, $task) = mysqli_fetch_array($dbc, MYSQLI_NUM)) {
// Add to the array:
$tasks[$parent_id][$task_id] = $task;
}
make_list($tasks[0]);
mysqli_close(); // close the connection
// Include the html footer
include('./includes/footer.html');
?>
答案 0 :(得分:6)
错误信息很明确:你没有任何参数调用mysqli_close,而函数需要一个。
根据mysqli_close文档,您必须提供mysqli链接作为其参数。
答案 1 :(得分:2)
调用mysqli_close($ mysqli);
答案 2 :(得分:1)
使用$ mysqli-&gt; close();或者mysqli_close($ mysqli);
答案 3 :(得分:-1)
我是新手,但我终于能够通过移动mysqli_close()的位置来解决这个问题。我在最后一次之后就把它弄好了,但之后我就把它移到了它之前它起作用了。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Make Me Elvis - Send Email</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?php
$from = 'elmer@makemeelvis.com';
$subject = $_POST['subject'];
$text = $_POST['elvismail'];
if (empty($subject) && empty($text)){
echo 'Both, the subject and the email field have been left empty';}
if (empty($subject) && !empty($text)){
echo 'The subject field is empty';}
if (!empty($subject)&& empty($text)){
echo 'The email field is empty'; }
if (!empty($subject) && !empty ($text)){
$dbc = mysqli_connect('servername', 'username', 'password', 'dbname')
or die('Error connecting to MySQL server.');
$query = "SELECT * FROM email_list";
$result = mysqli_query($dbc, $query)
or die('Error querying database.');
while ($row = mysqli_fetch_array($result)){
$to = $row['email'];
$first_name = $row['first_name'];
$last_name = $row['last_name'];
$msg = "Dear $first_name $last_name,\n $text";
mail($to, $subject, $msg, 'From:' . $from);
echo 'Email sent to: ' . $to . '<br />';
}
mysqli_close($dbc);
}
?>
``