首页 > 解决方案 > 查询未在php中成功执行

问题描述

我正在尝试使用以下准备好的语句插入以下查询,但无法添加。以下是代码:

$name=$_POST['text_name'];
$rn=$_POST['text_rn'];
$email=$_POST['email'];
$gender=$_POST['gender'];
$upass= password_hash($_POST['text_pass'], PASSWORD_DEFAULT);
$addrec = $conn->prepare("INSERT INTO students(name,rollno,password,gender,email) VALUES (?,?,?,?,?)");
$addrec->bind_param("sssss",$name,$rollno,$password,$gender,$email);
if($addrec->execute()){
    echo    "<div class='w3-panel w3-green w3-display-container' style='width:40%;'>
                <span onclick='this.parentElement.style.display='none''
                class='w3-button w3-large w3-display-topright'>&times;</span>
                <p>New record created successfully</p>
            </div>";
}
else
    echo "<div class='w3-panel w3-red w3-display-container' style='width:40%;'>
            <span onclick='this.parentElement.style.display='none''
            class='w3-button w3-large w3-display-topright'>&times;</span>
            <p>Record not added</p>
        </div>";

该代码非常简单,但它显示“未添加记录”,这是else案例。以下是我的表结构。

+------------------+---------------+-------+------+--------------------+----------------+--+
|      Field       |     Type      | Null  | Key  |      Default       |     Extra      |  |
+------------------+---------------+-------+------+--------------------+----------------+--+
| id               | int(11)       | NO    | PRI  | NULL               | auto_increment |  |
| name             | varchar(200)  | NO    |      | NULL               |                |  |
| email            | varchar(200)  | NO    |      | NA                 |                |  |
| password         | text          | NO    |      | NULL               |                |  |
| gender           | varchar(6)    | NO    |      | NULL               |                |  |
| rollno           | int(255)      | NO    |      | NULL               |                |  |
| image            | varchar(255)  | NO    |      | default-pic.png    |                |  |
| personal_notice  | varchar(500)  | NO    |      | Not Available Yet  |                |  |
+------------------+---------------+-------+------+--------------------+----------------+--+

可能是什么问题呢?请帮忙。

标签: phpmysqlprepared-statement

解决方案


$rollno$addrec->bind_param("sssss",$name,$rollno,$password,$gender,$email);应该是$rn
并且也$password应该是$upass


推荐阅读