mysqli_query():第26行/home/trainman/public_html/Register.php中的空查询

时间:2016-09-09 13:51:32

标签: php mysql mysqli

我正在创建一个注册页面。 我的代码在内部网上运行得很好,但现在,5年后我必须使用MySQL i。

我使用外部PHP文件dblogin.php

连接到数据库会发生什么
<?php
$connection = mysqli_connect('mywebhost','username','password','db');
?> 

这个位工作正常,因为登录系统使用它。

然后是我的注册系统。 自从我用PHP编写代码以来已经有一段时间了,现在主要使用Wordpress。

<?php
include 'dblogin.php';  

 if(isset($_GET['i'])){
        if($_GET['i'] == '1'){ //if we want to insert a new user
            $tblName="tblUsers";

        //Form Values into store
        $FirstName=$_POST['firstnamecreate'];
        $Surname=$_POST['Surnamecreate'];
        $Username=$_POST['UsernameCreate'];
        $UserType="stu"; //never mind this, it just seperates admins from standard users
        $Email=$_POST['EmailCreate'];
        $Password=$_POST['PasswordCreate'];



        $ExistingUserVerification = mysqli_query ($connection,"SELECT COUNT(*) as num FROM tblUsers WHERE UserName = $Username");

                    $UserResults = mysqli_query($connection,$ExistingUserVerification);




        if($UserResults[0] == 1){

            $CreatedStatus = "$Username already exists in the user database. Please choose a different Username.";

        }else{



            $sql="INSERT INTO $tblName(UserName, Password, UserType, FirstName, Surname, EmailAddress)VALUES('$Username', '$Password', '$UserType', '$FirstName', '$Surname', '$Email')";
            $result=mysqli_query($connection,$sql);
            if($result){
            $CreatedStatus = "$FirstName, you have registered successfully. Click " . "<a href=Login.php>". "HERE". "</a>" . " to login. " . "<br />"."Please note: Hacking of this site is not permitted.";
            }
            else {
            $CreatedStatus = "Unfortunately $Username was not created successfully. Please check your entry or check whether the user already exists.";
            }
        }
    }
}
?>

我遇到的问题是围绕

$ExistingUserVerification = mysqli_query ($connection,"SELECT COUNT(*) as num FROM tblUsers WHERE UserName = $Username");

                        $UserResults = mysqli_query($connection,$ExistingUserVerification);

一部分。 我尝试了各种各样的。使用当前格式,结果如下:

警告:mysqli_query():第26行/home/trainman/public_html/Register.php中的空查询

删除$ connection导致它期望2个参数并删除我说的描述。

任何帮助很多appriciated。自从我上次使用php以来已经有一段时间了,如果代码不整洁,那就很抱歉。 select COUNT(*)检查是否有另一个用户具有相同的用户名,如果没有它将表单值提交给DB

1 个答案:

答案 0 :(得分:0)

此错误来自于向mysqli发送空查询的极其简单的事实。查询为空。它只是一个空字符串。什么都没有。

所以只需检查你的变量。

mysqli_query()的第二个参数应该是 PHP字符串包含合法的SQL查询。其他任何内容都会导致错误。