Php 由于获取问题,Mysqli停止工作
我刚刚回到一个月前运作良好的项目。今天我发现我收到一个“警告:mysqli::query():无法获取mysqli”错误,我不知道为什么。我已尝试更改if语句,但仍然得到相同的结果 php页面Php 由于获取问题,Mysqli停止工作,php,mysqli,Php,Mysqli,我刚刚回到一个月前运作良好的项目。今天我发现我收到一个“警告:mysqli::query():无法获取mysqli”错误,我不知道为什么。我已尝试更改if语句,但仍然得到相同的结果 php页面 <?php include_once 'db_connect.php'; include_once 'functions.php'; sec_session_start(); error_reporting(E_ALL); ini_set('display_errors', 1); $emai
<?php
include_once 'db_connect.php';
include_once 'functions.php';
sec_session_start();
error_reporting(E_ALL); ini_set('display_errors', 1);
$email = $_SESSION['email'];
$name = $_SESSION['name'];
$hash = $_SESSION['hash'];
$password = $hash;
echo $name;
echo '<br>';
echo $email;
echo '<br>';
echo $hash;
echo '<br>';
$sql = "INSERT INTO signed_up(`name`, `email`, `password`) VALUES ('$name', '$email', '$password')";
if ($mysqli->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $mysqli->error;
}
//if ($result = $mysqli->query("INSERT INTO `signed_up`(`name`, `email`, `password`) VALUES ('$name', '$email', '$password')")){
//
//header('location: ../register_success.php');
//// $result->close();
//
//}
//else {
// echo "error";
//}
?>
这一行:
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
创建一个对象。它是类mysqli
的实例。对象总是真实的。if语句检查$mysqli
是否为false。这个if语句是错误的,因为无论连接是否成功,对象都不会是错误的
不要手动检查连接错误。您的连接失败,当它失败时,PHP抛出了一个警告。请检查您的PHP配置以获取错误报告,因为您可能已关闭警告。另外,请启用mysqli错误报告。在创建mysqli实例之前插入此行
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
您是否有一些代码部分实际关闭了连接?请使用如下语句:检查
db_connect.php
和functions.php
中的$mysqli
变量,查看其是否关闭somewhere@Ghost是的,在我的原始陈述中,如果我有结束陈述,当我搜索此错误时,有人建议可能是我的问题,因此对其进行了注释,但未能解决问题,因此我尝试了另一个if语句,但也未能解决问题。我要感谢所有人的帮助,我现在已解决了问题,这最终是我的愚蠢错误,在另一个项目上工作时,我想我在这个项目上保存了一个不同的db_connect文件,因此登录详细信息都是错误的,
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);