관련 게시물을 확인하려고했지만 이미 내 문제를 해결하는 데 도움이되지 않습니다. 데이터가 데이터베이스에 저장되는 약속을위한 페이지를 만들려고합니다. 여기오류 : SQLSTATE [23000] : 무결성 제약 조건 위반 : 1048 'comments'열이 null이 될 수 없음
<form name="appointments" action="" method="POST">
<label>Name (First/Last)</label> <br>
<input type="text" name="name" id="name" required="required" placeholder="Please Enter Name"> <br>
<label>Email Address</label> <br>
<input type="email" name="email" id="email" required="required" placeholder="[email protected]"> <br>
<label>Phone Number</label> <br>
<input type="text" name="contactno" id="contactno" required="required" placeholder="9221234567"> <br>
<label>Nature of Appointment</label> <br>
<select name="service" id="service">
<option value="other">Other</option>
<option value="consultation">Consultation</option>
<option value="Surgery">Surgery</option>
</select> <br>
</div>
<label>Preferred Appointment Date</label> <br>
<input type="date" name="prefDate" id="prefDate"> <br>
<label>Comments</label> <br>
<textarea rows="12" cols="40" name="comments" form="usrform" placeholder="Your comments here..."></textarea> <br>
</div>
<input type="submit" class="btnRegister" name = "schedule" value="Send Your Request">
</form>
내 connect2.php
<?php
//Local Server Information
$server = "127.0.0.1";
$username = "root";
$password = "";
$db = "myDB";
$name = "";
$email = "";
$contactno = "";
$service = "";
$prefDate = "";
if (isset($_POST['comments']) && !empty($_POST['comments'])) {
$comments = $_POST['comments'];
} else {
$comments = "";
}
//Check if connection was successful
try {
$con = new PDO("mysql:host=$server;dbname=$db","$username","$password");
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if(isset($_POST['schedule']))
{
$name = $_POST['name'];
$email = $_POST['email'];
$contactno = $_POST['contactno'];
$service = $_POST['service'];
$prefDate = $_POST['prefDate'];
$comments = $_POST['comments'];
$insert = $con->prepare("INSERT INTO appointments(name, email,contactno, service, prefDate, comments) values(:name, :email, :contactno, :service, :prefDate, :comments)");
$insert->bindParam(':name', $name);
$insert->bindParam(':email', $email);
$insert->bindParam(':contactno', $contactno);
$insert->bindParam(':service', $service);
$insert->bindParam(':prefDate', $prefDate);
$insert->bindParam(':comments', $comments);
$insert->execute();
}
} catch(PDOException $e) {
//die("Oops! Something went wrong with your database.");
echo "Error: ". $e->getMessage();
}
?>
이것은 코드를 여기
Notice: Undefined index: comments in C:\xampp\htdocs\db\connect2.php on line 29 Error: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'comments' cannot be null
PHP는되어 있지만,이 두 가지 오류 메시지가 내 창에 나타나는 유지 오류가 발생한 행을 나타냅니다.
$comments = $_POST['comments'];
나는 이미 $ comments = "you comment"처럼 하드 코딩을 시도했다. 오류없이 완료되었으며 데이터가 데이터베이스에 나타납니다. 그러나 위의 코드를 사용하면 오류가 나타납니다. 누구든지 제발 도와주세요. 내가 뭐 놓친 거 없니? 다른 선이 어째서 잘못되었는지 확실히 알 수는 없습니다.
감사
안녕하세요 무슨 일이 있었는지보고했다 조언을 준이, 오류 : SQLSTATE [23000]가 : 무결성 제약 조건 위반 : 1,048 열 '코멘트'null 일 수 없습니다 오류가 사라졌다 전혀 오류가 없었습니다. 그러나 덧글은 'default comment'만 삽입하고 내가 입력 한 내용이 아닙니다. – UmaruHime