Php mysqli_*somemethod*()expect参数
首先,我在谷歌上搜索了4个多小时。在stackoverflow上发现了十几个类似的问题,但我真的找不到解决方案。所以这就是我写新问题的原因。。我几乎是一个新手,我真的尝试了我能做的一切,我在这里找到的答案,但似乎没有任何工作。 顺便说一句,很抱歉我的英语不好 因此,当我尝试将新用户注册输入提交到数据库时,以下是我的错误: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\
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}' ");