2015-12-17 25 views
0

您在SQL語法中有錯誤;檢查手冊中 對應於你的MySQL服務器版本正確的語法使用 附近 'STR_TO_DATE(' 1988年2月4' 日, '%M /%d /%Y'),STR_TO_DATE中的SQL語法錯誤

$sql = "INSERT INTO customer_registration("; 
$sql .= "CUSTOMER_FNAME, CUSTOMER_LNAME, CUSTOMER_DOB, APARTMENT, "; 
$sql .= "STREET, CITY, PROVINCE, POSTAL_CODE, EMAIL, PHONE, SIGN_IN_DATE "; 
$sql .= ") VALUES ("; 
$sql .= " '{$fname}', {$lname}, STR_TO_DATE('$dob','%m/%d/%Y'), {$apt}, {$city}, {$province}, {$postalCode}, {$_email}, {$phone}, {NOW()}"; 
$sql .= ")"; 
$result= mysqli_query($connection, $sql); 

什麼似乎是錯誤?

+0

添加引號{$ L-NAME},{$容易},{$城市},{$全省},{$ POSTALCODE },{$ _email},{$ phone}。使用PDO –

+0

這似乎適用於所有其他變量,除了STR_TO_DATE和NOW –

+0

有關如何解決此問題的任何想法? –

回答

0

爲了使其工作,我所要做的就是添加引號並從函數中刪除引號。

$sql = "INSERT INTO customer_registration("; 
$sql .= "CUSTOMER_FNAME, CUSTOMER_LNAME, CUSTOMER_DOB, APARTMENT, "; 
$sql .= "STREET, CITY, PROVINCE, POSTAL_CODE, EMAIL, PHONE, SIGN_IN_DATE "; 
$sql .= ") VALUES ("; 
$sql .= " '{$fname}', '{$lname}', '{$dob}', '{$apt}', '{$street}', '{$city}', '{$province}', '{$postalCode}', '{$_email}', '{$phone}', NOW()"; 
$sql .= ")"; 
0

1)在你們第一次約會使用strtotime()。然後date('Y-m-d')將其轉換回來。

2)在您的值中使用單引號'。像'{$lname}'

3)從現在刪除單引號'()

<? 
$dob = strtotime($dob); 
$dob = date('%m/%d/%Y',$dob); 

$sql = "INSERT INTO customer_registration("; 
$sql .= "CUSTOMER_FNAME, CUSTOMER_LNAME, CUSTOMER_DOB, APARTMENT, "; 
$sql .= "STREET, CITY, PROVINCE, POSTAL_CODE, EMAIL, PHONE, SIGN_IN_DATE "; 
$sql .= ") VALUES ("; 
$sql .= " '{$fname}', '{$lname}', '{$dob}', '{$apt}', '{$city}', '{$province}', '{$postalCode}', '{$_email}', '{$phone}', NOW()"; 
$sql .= ")"; 
$result= mysqli_query($connection, $sql); 

?>