Пожалуйста, помогите, я проработал это несколько часов, и я не стал дальше. Исследуйте это, пока я не синю в лицо, но для меня ничего не работает! Я пытаюсь сделать регистрационную форму на PHP. У меня есть таблица пользователей со всей информацией о пользователях и таблица учетных записей для имен пользователей и паролей. Первичным ключом в таблице users является userid, и это внешний ключ в таблице учетных записей. Я пытаюсь вставить данные из одной формы в две таблицы, но я продолжаю получать ограничение внешнего ключа. Мой код размещен под ним, любая помощь будет принята с благодарностью!Ошибка MYSQL # 1452
<?php
if(!$_POST['submit']){
\t echo "<table border=\"0\" cellspacing=\"3\" cellpadding=\"3\">\n";
echo "<form method=\"post\" action=\"register.php\">\n";
echo "<tr><td colspan=\"2\" align=\"center\">Registration Form</td></tr>\n";
echo "<tr><td>First Name</td><td><input type=\"text\" name=\"fname\"></td></tr>\n";
echo "<tr><td>Last Name</td><td><input type=\"text\" name=\"lname\"></td></tr>\n";
echo "<tr><td>DOB</td><td><input type=\"date\" name=\"dob\"></td></tr>\n";
echo "<tr><td>Contact Number</td><td><input type=\"text\" name=\"contactno\"></td></tr>\n";
echo "<tr><td>Email Address</td><td><input type=\"text\" name=\"email_address\"></td></tr>\n";
echo "<tr><td>Username</td><td><input type=\"text\" name=\"username\"></td></tr>\n";
echo "<tr><td>Password</td><td><input type=\"password\" name=\"password\"></td></tr>\n";
echo "<tr><td>Confirm</td><td><input type=\"password\" name=\"confirm\"></td></tr>\n";
echo "<tr><td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit\" value=\"Register\"></td></tr>\n";
echo "</form></table>\n";
}else {
\t $fname = protect($_POST['fname']);
$lname = protect($_POST['lname']);
$dob = protect($_POST['dob']);
$contactno = protect($_POST['contactno']);
$email_address = protect($_POST['email_address']);
$username = protect($_POST['username']);
$password = protect($_POST['password']);
\t
\t $errors = array();
\t
\t \t if(!$horsename){
\t \t \t $errors[] = "Username is not defined!";
\t \t }else {
$sql4 = "INSERT INTO 'users' (`fname`,`lname`,`dob`,`contactno`,`email_address`) VALUES ('".$fname."','".$lname."','".$dob."','".$contactno."','".$email_address."')";
$res4 = mysql_query($sql4) or die(mysql_error());
$sql4 = "INSERT INTO 'account' (username,password) VALUES ('".$username."','".md5($password)."')";
$res4 = mysql_query($sql4) or die(mysql_error());
echo "You have successfully registered with the username <b>".$username."</b> and the password of <b>".$password."</b>!";
\t \t }
}
?>
Ваша проблема с вами. Выражения SQL co. co с вашей схемой. Если (по-видимому, сгенерированный) UserID от пользователей является полем, отличным от нуля, в учетной записи, тогда вам нужно будет включить это в свой оператор insert в учетную запись, что означает получение его после вашей вставки пользователям. – TZHX