0

我已经为此工作了几个小时,似乎无法让这几行代码工作。这是我第一次使用 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    
4

4 回答 4

2

删除分号,在查询中使用反引号而不是单引号。

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

注意: 请不要mysql_*在新代码中使用函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程

于 2013-05-04T06:08:28.760 回答
0

`在列名周围不使用反引号'

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

应该

mysql_query("INSERT INTO `email` (`emailaddress`) VALUES ('$_POST[email]')", $con);
于 2013-05-04T06:08:03.557 回答
0

用这个。

<?php
mysql_query("INSERT INTO email (emailaddress) VALUES ('".$_POST[email]."')", $con);
mysql_close($con);
?>
于 2013-05-04T06:14:04.797 回答
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);

?>
于 2013-05-04T06:14:36.763 回答