【问题标题】:mysqli empty query issuesmysqli 空查询问题
【发布时间】:2016-01-31 19:08:28
【问题描述】:
<?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 个主要问题。

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

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

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

任何人都能够帮助指导我了解我需要相应更改的内容吗?

【问题讨论】:

  • 您至少需要了解代码中发生了什么。
  • 嗯,主要是我真的不明白的空查询
  • 编辑:您在不正确的地方使用$resultInsert。您的查询应该是$status = mysqli_query($link,$queryInsert); 。而且您正在执行两次查询。
  • 你明白为什么要运行mysqli_query两次吗?
  • 错误代码。不好的问题。

标签: php mysql database mysqli


【解决方案1】:

您在 $resultIndex 定义之前传递它。 删除第 38 行。

【讨论】:

    【解决方案2】:

    您正在使用 mysqli_query 两次:

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

    $resultInsert 未在任何地方定义,因此您会收到未定义的变量错误。

    解决方案:

    如果您想运行两次查询而不是需要在此处更改变量名:

    // first query
    
    $queryInsert_Change = mysqli_query($link, $queryInsert );
    

    旁注

    你的代码对SQL注入是开放的,你需要防止你的代码被SQL注入。

    基本提示:

    请务必记住,如果您收到类似 Undefined variable 的通知,这意味着您的代码中未定义变量,需要将其定义为空或具有某个值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-20
      • 1970-01-01
      相关资源
      最近更新 更多