簡體   English   中英

PHP / MySQL錯誤1054,用於表單注冊

[英]PHP/MySQL Error 1054 for form registration

我的網站上有一張注冊表,當有人嘗試注冊時出現Error 1054

PHP代碼為:

$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]')";

它給了我以下錯誤:

語法錯誤,意外的t_encapsed和空格,預期為T_String或T_Variable或T_num_string。

嚴格首先:使用mysqli_ *代替mysql_ *,您的查詢具有sql注入威脅的可能性,請使用准備好的語句查詢...

錯誤1054:此類錯誤通常在列名無效時發生,請按照我的觀點檢查表。

訪問數組時,必須使用大括號{}:

$sql="INSERT INTO database.table (Address1, Address2, Address3, Address4)
VALUES
('{$_POST["address1"]}','{$_POST["address2"]}','{$_POST["address3"]}','{$_POST["address4"]}')";

編輯:錯誤1054意味着壞列-您確定,表中存在提到的列? http://dev.mysql.com/doc/refman/5.0/es/error-handling.html#error_er_bad_field_error

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM