简单的MySQL代码没有插入数据到数据库?
我一直在这工作几个小时,似乎无法得到这几行代码的工作。这是我第一次与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
删除分号,使用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,并使用PDO或MySQLi - this article将帮助您决定哪个。如果您选择PDO,here is a good tutorial。
谢谢!这解决了它。我将致力于实施一个未弃用的解决方案。 – 2013-05-04 06:24:09
@AustinBerke - 很高兴帮助你!快乐编码:) – Rikesh 2013-05-04 06:25:20
使用反引号`
在这里列名不'
mysql_query("INSERT INTO 'email' ('emailaddress') VALUES ('$_POST[email]');", $con);
应该是
mysql_query("INSERT INTO `email` (`emailaddress`) VALUES ('$_POST[email]')", $con);
使用此。
<?php
mysql_query("INSERT INTO email (emailaddress) VALUES ('".$_POST[email]."')", $con);
mysql_close($con);
?>
尝试
<?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);
?>
你能请张贴的表结构呢? – Satya 2013-05-04 06:06:36
[请勿在新代码中使用'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