2013-05-04 184 views
0

我一直在這工作幾個小時,似乎無法得到這幾行代碼的工作。這是我第一次與MySQL合作,請耐心等待。簡單的MySQL代碼沒有插入數據到數據庫?

<?php 

$con = mysql_connect("localhost","usernamewitheld","passwordwithheld"); 
if (!$con){die('Could not connect: ' . mysql_error());} 
mysql_select_db("splashpage"); 
mysql_query("INSERT INTO 'email' ('emailaddress') VALUES ('$_POST[email]');", $con); 
mysql_close($con); 

?> 

該代碼在沒有任何apache錯誤的情況下執行,但數據庫不受影響。有任何想法嗎?

編輯:表結構如下:

Field Type Null Key Default Extra 
emailaddress text NO MUL NULL  
timesubmitted timestamp NO  CURRENT_TIMESTAMP  
+0

你能請張貼的表結構呢? – Satya 2013-05-04 06:06:36

+2

[請勿在新代碼中使用'mysql_ *'函數](http://stackoverflow.com/q/12859942/1190388)。他們不再被維護,並[正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到紅色框?改爲了解準備好的語句,然後使用[tag:PDO]或[tag:MySQLi]。 – hjpotter92 2013-05-04 06:08:55

回答

2

刪除分號,使用bacticks而不是查詢中的單引號。

mysql_query("INSERT INTO `email` (`emailaddress`) VALUES ('$_POST[email]')", $con) 
or  
die(mysql_error()); 

注:Please, don't use mysql_* functions in new code。他們不再維護and are officially deprecated。請參閱red box?請改爲了解prepared statements,並使用PDOMySQLi - this article將幫助您決定哪個。如果您選擇PDO,here is a good tutorial

+0

謝謝!這解決了它。我將致力於實施一個未棄用的解決方案。 – 2013-05-04 06:24:09

+0

@AustinBerke - 很高興幫助你!快樂編碼:) – Rikesh 2013-05-04 06:25:20

0

使用反引號`在這裏列名不'

mysql_query("INSERT INTO 'email' ('emailaddress') VALUES ('$_POST[email]');", $con); 

應該是

mysql_query("INSERT INTO `email` (`emailaddress`) VALUES ('$_POST[email]')", $con); 
0

使用此。

<?php 
mysql_query("INSERT INTO email (emailaddress) VALUES ('".$_POST[email]."')", $con); 
mysql_close($con); 
?> 
0

嘗試

<?php 

$con = mysql_connect("localhost","usernamewitheld","passwordwithheld"); 
if (!$con){die('Could not connect: ' . mysql_error());} 
mysql_select_db("splashpage",$con); 
mysql_query("INSERT INTO 'email' ('emailaddress') VALUES ('$_POST[email]');", $con); 
echo mysql_errno($con) . ": " . mysql_error($con) . "\n"; 
mysql_close($con); 

?>