Php mysqli_*somemethod*()expect参数

Php mysqli_*somemethod*()expect参数,php,mysqli,parameters,Php,Mysqli,Parameters,首先,我在谷歌上搜索了4个多小时。在stackoverflow上发现了十几个类似的问题,但我真的找不到解决方案。所以这就是我写新问题的原因。。我几乎是一个新手,我真的尝试了我能做的一切,我在这里找到的答案,但似乎没有任何工作。 顺便说一句,很抱歉我的英语不好 因此,当我尝试将新用户注册输入提交到数据库时,以下是我的错误: Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\

首先,我在谷歌上搜索了4个多小时。在stackoverflow上发现了十几个类似的问题,但我真的找不到解决方案。所以这就是我写新问题的原因。。我几乎是一个新手,我真的尝试了我能做的一切,我在这里找到的答案,但似乎没有任何工作。 顺便说一句,很抱歉我的英语不好

因此,当我尝试将新用户注册输入提交到数据库时,以下是我的错误:

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\epo\insert.php on line 17

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in C:\xampp\htdocs\epo\insert.php on line 18

Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\epo\insert.php on line 28

Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\epo\insert.php on line 29

Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\epo\insert.php on line 30

Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\epo\insert.php on line 31

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\epo\insert.php on line 36

Warning: mysqli_error() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\epo\insert.php on line 39
Neuspesno upisivanje u bazu podataka!
以下是数据库连接代码(konekcija.php):


以下是注册表(reg.php)文件:


登记处科里斯尼卡·扎·埃博系统
多布罗多斯利、莫利莫·瓦斯、波普尤尼波尔亚卡科酒馆(Popune polja kako biste se registrovali)。
输入法:
Prezime:
电邮:
西夫拉:
下面是插入脚本(insert.php):


尝试在中更改insert.php中的SQL查询

$sql_query=mysqli_query($connection, "SELECT * FROM signup WHERE email = '$email' ") ;

我有多傻?我还没有在insert.php脚本中包含我的db连接文件。自从我把它包括在内,它就像一个符咒


@亚历克斯注意到了,再次感谢你,伙计!我无法表达我现在是多么的感激和快乐

您在
insert.php中的代码

global $connection;

$sql_query = mysqli_query($connection, "SELECT * FROM signup WHERE email = '{$email}' ");
如果您不启动任何作用域(函数、类或命名空间),那么
global
关键字毫无意义,但无论如何

您没有包括设置
$connection
变量的文件


reg.php
中包括
insert.php
,后一个文件依赖于
$connection
变量,但该变量在
konekcija.php
中设置,但不包括该文件,因此
$connection
没有值。

全局$connection
为空。也许你忘了需要db连接代码?包含
db连接代码的文件名是什么?好吧,我正在学习一些课程,他不需要,我检查了10次,我们有完全相同的代码行。@Alex its'konekcija.php'@james实际上有3个字段,我只是没有很好地按CTRL+K组合键,我现在编辑了它。不是一个解决方案。是的,我得到了同样的错误。。没有任何变化如果你知道实际正确的解决方案,然后作为答案发布是可以的,否则你需要发表评论以获得澄清,几分钟前在Alex的帮助下我自己理解了。我明白,只是我没有注意到这一点,因为我确信我包括了它。我真傻。。无论如何,我非常感谢你的解释!是的,这样的事情会发生:)专业提示是改变你的工作方式,包括对其他事情至关重要的文件。例如,
reg.php
包含了必需的文件,但我确信站点的其他部分也需要它们,比如DB connect。它很容易忘记(正如你发现的那样),但也很笨重而且不理想,每次你需要它们的时候就手动将它们一个一个地包含进来。类(通常)可以使这变得更简单,因为你可以只导入,并且可能一开始就在顶部加载你经常使用的主要内容,然后在你需要它们的时候加载它们(框架在一定程度上做到了这一点)。至少,要有一个包含所有主要内容的文件,并在所有需要DB conn等东西的文件中一次性包含一个文件(虽然这是一种老式的方式)注意到@james,正如我所说,我是一个新手,即使我现在做的也几乎是一次性信息,但随着时间的推移,我相信事情会变得更好,更容易你的方式,所以我一定按照你的提示,伙计!
<?php
    global $connection;
    global $errordanger, $uspehreg;

    $fname = $lname = $email = $password = "";


    if(isset($_POST['submit'])){
        $ime = $_POST['ime'];
        $prezime = $_POST['prezime'];
        $email = $_POST['email'];
        $passw = $_POST['password'];

        //Provera da li korisnik vec postoji


        $sql_query = mysqli_query($connection, "SELECT * FROM signup WHERE email = '{$email}' ");
        $count = mysqli_num_rows($sql_query);


        if($count > 0){

            $errordanger = "<div class='alert alert-danger' role='alert'>
             Korisnik sa tom email adresom vec postoji!
            </div>";
        }else{

            $fname = mysqli_real_escape_string($connection, $ime);
            $lname = mysqli_real_escape_string($connection, $prezime);
            $email = mysqli_real_escape_string($connection, $email);
            $password = mysqli_real_escape_string($connection, $passw);


        $sql = "INSERT INTO signup(email, ime, prezime, password, date_time) VALUES ('{$email}' , '{$ime}', '{$prezime}', '{$passw}', now()) ";

        $query = mysqli_query($connection, $sql);

        if(!$query){
            die(" Neuspesno upisivanje u bazu podataka! " . mysqli_error($connection));

        }else{
            $uspehreg = "<div class='alert alert-success'>
  <strong>Uspesno ste se registrovali!</strong> Indicates a successful or positive action.
</div>";

      }    

    }
 }

?>
$sql_query=mysqli_query($connection, "SELECT * FROM signup WHERE email = '$email' ") ;
global $connection;

$sql_query = mysqli_query($connection, "SELECT * FROM signup WHERE email = '{$email}' ");