繁体   English   中英

SQLSTATE [23000]:违反完整性约束:1048列

[英]SQLSTATE[23000]: Integrity constraint violation: 1048 Column

我收到此错误,我确保所有名称正确并且idk出了什么问题,似乎在rsn列中未添加任何内容。 一直在搜索,我知道问题,但是我不知道是什么导致了我的问题,如果您可以注释我的代码(如果可以注入),那么将是第一次使用PDO。

html

<form action="rsdenar.php" method="post">
    <div id="gold-calc">
        <div class="col-md-4">
            <label for="amount"><h3><i class="fa fa-database">&nbsp;Kolicina</i></h3></label>
            <input type="text" class="form-control" id="amount" name="gpamount">
        </div>
        <div class="col-md-4">
            <select class="form-control" style="margin-top:30px; width: 70%;" id="goldtype">
                <option value="0.5">RS3</option>
                <option value="1.6">RS 07</option>
            </select>
        </div>
        <div class="col-md-4">
            <label for="price"><h3><i class="fa fa-database">&nbsp;Cena</i></h3></label>
            <input type="text" class="form-control" id="price">
        </div>
        <div class="row" style="padding-top: 170px;">
            <label for="idrsn">RSN: </label> 
            <input type="text" class="form-control" id="idrsn" name="rsn" style="width: 40%">
        </div>
        <div class="row">
            <label for="emailbuy">Email: </label>
            <input type="text" class="form-control" id="emailbuy" name="email-nakup" style="width: 40%;">
        </div>
       <div class="buy-order">
            <button type="submit" class="btn btn-primary"><a style="text-decoration: none" href="#"><h5 style="font-family: arial; font-size: 20px">NAKUP</h5></a></button>
        </div>
    </div>
</form>

的PHP

<?php

include 'php_includes/db_connect.php';

try {

    $stmt=$conn->prepare("INSERT INTO purchase (rsn,email,amount,unique_id)
        VALUES (:rsn, :email, :amount, :unique_id)");
    $stmt->bindParam(':rsn', $_POST['rsn']);
    $stmt->bindParam(':email', $_POST['email-nakup']);
    $stmt->bindParam(':amount', $_POST['gpamount']);
    $stmt->bindParam(':unique_id', $_POST['unique_id']);
    $stmt->execute();

}catch (exception $e){
    echo $e;
}


?>

sql

在此处输入图片说明

如您的错误所述, Integrity constraint violation: 1048 Column 'rsn' cannot be null in ,因此在尝试在表中插入数据之前,您需要始终检查rsn的值rsn为空。

您可以通过以下方式在PHP代码上执行此操作:

<?php
// validation added here
if(isset($_POST) && !empty($_POST['rsn'])) {
    try {

        $stmt=$conn->prepare("INSERT INTO purchase (rsn,email,amount,unique_id) VALUES (:rsn, :email, :amount, :unique_id)");
        $stmt->bindParam(':rsn', $_POST['rsn']);
        $stmt->bindParam(':email', $_POST['email-nakup']);
        $stmt->bindParam(':amount', $_POST['gpamount']);
        $stmt->bindParam(':unique_id', $_POST['unique_id']);
        $stmt->execute();

    }catch (exception $e){
        echo $e;
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM