У меня есть регистрационная форма на моем сайте, и я получаю Error 1054
, когда человек пытается зарегистрироваться.Ошибка PHP/MySQL 1054 для регистрации формы
Код РНР:
$con=mysql_connect("server","database","password");
// Check connection
if (!$con)
{
echo "Failed to connect to MySQL" . mysql_errno();
}
$sql="INSERT INTO database.table (User_ID, Name, Email, Telephone, MyPassword)
VALUES
(NULL,'$_POST[name]','$_POST[email]','$_POST[telephone]','$_POST[mypassword]')";
if (!mysql_query($sql,$con))
{
die('Error: you fail'.mysql_errno());
}
$User_Id= mysql_insert_id();
$sql="INSERT INTO database.table (Address1, Address2, Address3, Address4)
VALUES
('$_POST[address1]','$_POST[address2]','$_POST[address3]','$_POST[address4]')";
//Inserts address into Address table
if (!mysql_query($sql,$con))
{
die('Error: you failed' . mysql_errno());
}
echo "Thank you for registering with Market Buddy";
mysql_close($con);
Я поставил код в онлайн-компилятор, чтобы получить более подробное описание ошибки и по этой линии:
('$_POST[address1]','$_POST[address2]','$_POST[address3]','$_POST[address4]')";
Это дает мне следующее сообщение об ошибке:
Syntax error, unexpected t_encapsed and whitespace, expecting T_String or T_Variable or T_num_string.
Вам необходимо избежать ввода пользователем. См. [Здесь] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) –