2011-06-01 114 views
1

有人請看下面的代碼,它是處理通過表單提交的數據並將此數據插入MySQL數據庫。將數組數據插入數據庫的問題

<? $con = mysql_connect("localhost","username","password"); 

if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("database_name", $con); 

$name=mysql_real_escape_string(serialize($_POST['fullname15'])); 
$bdate=mysql_real_escape_string(serialize($_POST['birthdate19'])); 

$sql="INSERT INTO bookings (full_name, dob, email) VALUES ('$_POST[name]','$_POST[bdate]','$_POST[email]')"; 

if (!mysql_query($sql,$con)) 
    { 
    die('Error: ' . mysql_error()); 
    } 
echo "Form Sent to Database"; 

mysql_close($con) 
?>` 

我用叫JotForm一個表單生成器來建立自己的形式和當表單提交它的數據發送到我的process.php上面的腳本。問題是我無法將一些數據存入我的數據庫。目前唯一成功的領域是電子郵件。

的數據被提交給我的成功腳本,因爲「的var_dump」顯示我:

[fullname15] => Array ([0] => Joe [1] => Bloggs) 
[birthdate19] => Array ([0] => 14 [1] => November [2] => 1921) 
[email16] => [email protected] 

我是新來編程,並嘗試過了幾個小時,以獲得全名和出生日期插入到我的數據庫我幾乎放棄的領域。任何幫助將不勝感激。

回答

3

您沒有向$ sql語句發送任何內容。例如,$ _POST ['name']是空的。爲了在將來進行調試,打印出$ sql進行檢查。

$name=mysql_real_escape_string(serialize($_POST['fullname15'])); 
$bdate=mysql_real_escape_string(serialize($_POST['birthdate19'])); 
$email=mysql_real_escape_string(serialize($_POST['email16'])); 

$sql="INSERT INTO bookings (full_name, dob, email) VALUES ('$name','$bdate','$email')"; 
+0

該死的,你快... :) – 2011-06-01 16:40:41

+0

您好,感謝您的快速反應@tofutim,我剛剛經修訂,但時,我認爲仍然不填充這些領域的數據庫,這使我認爲數據庫中的字段類型不正確或不對。我會改變其中的一些字段類型,看看是否能解決這個問題。但是謝謝你指出我做錯了什麼。 :-) – 2011-06-01 16:56:03