Php 警告:mysqli_close():无法';拿不到mysqli
我得到了这个错误:Php 警告:mysqli_close():无法';拿不到mysqli,php,mysql,mysqli,Php,Mysql,Mysqli,我得到了这个错误: Warning: mysqli_close(): Couldn't fetch mysqli in sendinvoice.php on line 54 这是我的密码: <?php include 'dbconfig.php'; ob_start(); $taxcb = $_POST['taxcb']; $taxrate = $_POST['taxrate']; $bcctocb = $_POST['bcctocb']; $bcctotxt = $_POST
Warning: mysqli_close(): Couldn't fetch mysqli in sendinvoice.php on line 54
这是我的密码:
<?php
include 'dbconfig.php';
ob_start();
$taxcb = $_POST['taxcb'];
$taxrate = $_POST['taxrate'];
$bcctocb = $_POST['bcctocb'];
$bcctotxt = $_POST['bcctotxt'];
$duedate = $_POST['duedate'];
$issuedate = $_POST['issuedate'];
$additemscb = $_POST['additemscb'];
$additemname = $_POST['additemname'];
$additemprice = $_POST['additemprice'];
$q = $_POST['rowid'];
$sql="SELECT * FROM clients WHERE id = '".$q."'";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($result)) {
$to = $row[email];
$subject = "Invoice Test " . date('m/d/Y h:i:s a', time());
include 'invoice.html';
$message = ob_get_clean();
// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
// More headers
$headers .= 'From: <billing@example.com>' . "\r\n";
if ($bcctocb == "y"){
$headers .= 'BCC: ' . $bcctotxt . "\r\n";
}
mail($to,$subject,$message,$headers);
$sql = "UPDATE clients SET last_billed='" . date("Y-m-d H:i:s") . "' WHERE id=" . $q;
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
mysqli_close($conn);
?>
缩进很难判断,但在某些情况下,您将关闭连接两次
$conn->close();
}
mysqli_close($conn);
这两个都将关闭连接,因此第二个连接将失败。
可能更容易删除$conn->close()代码>因为它将始终落在第二个收盘点 我猜你把面向对象的版本和过程风格的版本搞混了,还是坚持一个吧,我建议你使用OOP
采用OOP风格:
/* do connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* close connection */
$mysqli->close();
/* do connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* close connection */
mysqli_close($link);
程序风格:
/* do connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* close connection */
$mysqli->close();
/* do connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* close connection */
mysqli_close($link);
参见示例您可以混合使用这两种方法-不推荐,但它似乎仍然有效-@NigelRen是的,您是ri8:)我同意您的看法,先生,但应该避免。一旦脚本终止,连接将被释放。手动操作没有意义。