데이터베이스에 연결된 등록 양식을 만들려고 시도하고 있으며 사용자 이름이 고유한지 여부도 확인할 수 있지만 불행히도 내 데이터에 내 새 데이터를 삽입 할 수 없습니다. 표. 누구든지이 일을 도와 주시면 정말 감사하겠습니다.내 MySQL 테이블에 삽입 할 수 있습니다.
<?php
error_reporting(E_ALL^E_DEPRECATED);
include 'connect.inc.php';
if(isset($_POST['submit'])) {
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$password2 = mysql_real_escape_string($_POST['password2']);
$firstname = mysql_real_escape_string($_POST['firstname']);
$lastname = mysql_real_escape_string($_POST['lastname']);
//md5 password
$password_hash = md5($password);
//check to see if the fields are empty
if(empty($username) || empty($password)|| empty($firstname)|| empty($lastname)) {
echo "Not all fields filled!<br /><br />";
exit();
}
//check if password is equal
if($password != $password2) {
echo "Your Passwords Do Not Match.<br />";
exit();
} else {
$query = "SELECT `username` From `users` WHERE username='$username'";
$result = mysql_query($query);
if(mysql_num_rows($result) ==1) {
echo "Sorry, that user has already exists.";
exit();
} else {
$query1= mysql_query("INSERT INTO `users` ('',username,password,firstname,lastname) VALUES ('','$username', '$password_hash', '$firstname', '$lastname'");
if($result1 = mysql_query($query1)) {
echo "Registered Successfully";
} else {
echo "Sorry, You could not Register";
}
}
}
}
?>
<form action="" method="POST">
Username:<br />
<input type="text" name="username" /><br /><br />
Password:<br />
<input type="password" name="password" /><br /><br />
Confirm Password:<br />
<input type="password" name="password2" /><br /><br />
First Name:<br />
<input type="text" name="firstname" /><br /><br />
Last Name:<br />
<input type="text" name="lastname" /><br /><br />
<input type="submit" value="Register" name="submit" />
</form>
INSERT 쿼리에서 공백을 제거하십시오. – Bailey
또한 mysql_ * 함수를 사용하지 마십시오. 자세한 내용은이 질문을 참조하십시오 : http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php – Michael
테이블의 CREATE 문을 보여, 힘든 시간 (_as @ 베일리는 MySQL이 당신에게 이름없는 컬럼을 허용했다고 지적했다. _ 그렇더라도, 작은 따옴표로 구분할 수 있는지 확신 할 수 없습니다._ – Uueerdo