Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 由于获取问题,Mysqli停止工作_Php_Mysqli - Fatal编程技术网

Php 由于获取问题,Mysqli停止工作

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

我刚刚回到一个月前运作良好的项目。今天我发现我收到一个“警告: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);

$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);