2013-05-04 2 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, но база данных остается неизменной. Есть идеи?

EDIT: Структура таблицы выглядит следующим образом:

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

могли бы вы опубликовать структуру таблицы, а? – Satya

+2

[Пожалуйста, не используйте 'mysql_ *' функции] (http://stackoverflow.com/q/12859942/1190388) в новом коде. Они больше не поддерживаются и [официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). См. Красную рамку? Узнайте о подготовленных инструкциях и используйте [tag: PDO] или [tag: MySQLi]. – hjpotter92

ответ

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 вместо этого, и используйте PDO или MySQLi - this article поможет вам решить, какой. Если вы выберете PDO, here is a good tutorial.

+0

Спасибо! Это исправило это. Я буду работать над внедрением не устаревшего решения. –

+0

@AustinBerke - Рад помочь вам! Счастливое кодирование :) – Rikesh

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); 

?> 
Смежные вопросы