2013-02-15 127 views
0

我正在努力處理這段代碼。爲什麼它不起作用?它確實收到變量,但是sql命令不起作用。PHP MYSQL插入命令不起作用

if ($action=='create') 
    { 

    $Surname=$_REQUEST['Surname']; 
    $Name=$_REQUEST['Name']; 
    $Fathername=$_REQUEST['Fathername']; 
    $Dateofbirth=$_REQUEST['Dateofbirth']; 
    $Afm=$_REQUEST['Afm']; 
    $Landline=$_REQUEST['landline']; 
    $Mobile=$_REQUEST['Mobile']; 
    $Address=$_REQUEST['Adrs']; 
    $Addressnum=$_REQUEST['Adrsnm']; 
    $Location=$_REQUEST['Location']; 
    $ZIP=$_REQIEST['Zip']; 
    $Bankaccount=$_REQUEST['Bankaccount']; 

$createuser=mysql_query("INSERT INTO `Customers` (`Surname`,`CName`,`Fathername`,`Birthdate`,`AFM`,`Landline`,`Mobile`,`Address`,`Adressnum`,`Location`,`ZIP`,`Bankaccount`) VALUES ('$Surname','$Name','$Fathername','$Dateofbirth','$Afm','$Landline','$Mobile','$Address','$Addressnum','$Location','$ZIP','$Bankaccount')"); 
} 
+0

嘗試打印mysql_error的'()的結果',看看是什麼問題。 – 2013-02-15 23:49:21

+0

'或退出(mysql_error());' – Sebas 2013-02-15 23:49:21

+0

需要更多信息。它輸出錯誤嗎?如果是這樣的錯誤是什麼?你有沒有創建一個MySQL連接器? – topher 2013-02-15 23:49:26

回答

1
mysql_query("INSERT INTO `Customers` (`Surname`,`CName`,`Fathername`,`Birthdate`,`AFM`,`Landline`,`Mobile`,`Address`,`Adressnum`,`Location`,`ZIP`,`Bankaccount`) VALUES ('$Surname','$Name','$Fathername','$Dateofbirth','$Afm','$Landline','$Mobile','$Address','$Addressnum','$Location', 
'$ZIP','$Bankaccount')")or die(mysql_error()); 

會給你答案。

,並確保逃避你的數據:

$Surname=mysql_real_escape_string($_REQUEST['Surname']); 
    $Name=mysql_real_escape_string($_REQUEST['Name']); 
    $Fathername=mysql_real_escape_string($_REQUEST['Fathername']); 
[...] 

更好,用事先準備好的聲明:

$q = $sql->prepare("INSERT INTO `Customers` SET `Surname` = ? [...]"); 
$q->execute(array($_REQUEST['Surname'], [...])); 
+0

非常感謝,實際上問題是連接到數據庫 – 2013-02-16 00:00:42