mysqli空查询问题

时间:2016-01-31 19:08:28

标签: php mysql database mysqli

<?php 
include('dbConnection.php');
?>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
</head>
<body>


    <?php
        //get the values from the form, using the POST method.
        $first_name = $_POST['first_name'];
        $last_name = $_POST['last_name'];
        $profession = $_POST['profession'];
        $gender = $_POST['gender'];
        $date_of_birth = $_POST['date_of_birth'];
        $email = $_POST['first_name'];
        $username = $_POST['username'];
        $password = $_POST['password'];

       $query = "SELECT username FROM user WHERE username = '$username' ";
       $result = mysqli_query($link, $query) ;

        if (mysqli_num_rows($result) >= 1) {
           echo $message ="WARNING: Book already exist!<br/>";


        }

        else {

        $queryInsert = "INSERT INTO user  (first_name,last_name,profession,gender,date_of_birth,email,username,password)" .
                    "VALUES ('$first_name', '$last_name', '$profession', '$gender', '$date_of_birth', '$email', '$username', '$password')";

        $queryInsert = mysqli_query($link,$resultInsert); 

        $resultInsert = mysqli_query($link,$queryInsert);
        {
            echo "<center><h2>It has been succesfully added!</h2><br>
                  Click <a href='manageBooks.php'>here</a> to manage  book(s)<br></center>";

        }}



    ?>


</body>
</html>

嗨,我在运行这组代码时遇到了3个主要问题。

  

注意:未定义的变量:第38行的C:\ xampp \ htdocs \ PhpProject1 \ doRegister.php中的resultInsert

     

警告:mysqli_query():第38行的C:\ xampp \ htdocs \ PhpProject1 \ doRegister.php中的空查询

     

警告:mysqli_query():第40行的C:\ xampp \ htdocs \ PhpProject1 \ doRegister.php中的空查询

任何人都可以帮我指导我需要相应改变的内容吗?

2 个答案:

答案 0 :(得分:0)

您在定义之前传递了$ resultIndex。 删除此行38。

答案 1 :(得分:0)

您正在使用mysqli_query两次:

$queryInsert = mysqli_query($link,$resultInsert);

$ resultInsert没有在任何地方定义因为这个原因你得到了未定义的变量错误。

<强>解决方案:

如果要运行查询两次,则需要在此处更改变量名称:

// first query

$queryInsert_Change = mysqli_query($link, $queryInsert );

旁注

您的代码对 SQL注入是开放的,您需要使用SQL注入来防止您的代码。

基本提示:

请记住,如果您收到Undefined variable之类的通知,则表示您的代码中的变量未定义,需要将其定义为空或具有某些值。