2013-03-26 2 views
1

Я в настоящее время имею HTML форму с различной feilds один для примера:Попытки добавить данные формы в базу данных MYSQL

Please Enter First Name: <input type ="text" name="First_Name" /> <br /> 

Я пытаюсь получить информацию из этой формы в свою базу данных. Но он ничего не вводит в базу данных. Код выглядит следующим образом.

<?php 

$dbname='ecig'; 
$dbhost='localhost'; 
$dbpass='password'; 
$dbuser='eciguser'; 


$dbhandle = mysql_connect($dbhost, $dbuser, $dbpass) 
    or die("Unable to connect to MySQL"); 
echo "Connected to MySQL<br>"; 


//select a database to work with 
$selected = mysql_select_db("ecig",$dbhandle) 
    or die("Could not select examples"); 



$res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES('$_POST[First_Name]', yes)"); 
mysql_close(); 

if (array_key_exists ('check_submit', $_POST)) 

echo "Your Name is : {$_POST['First_Name']}<br />"; 
echo "Your Second Name is : {$_POST['Second_Name']}<br />"; 
echo "Your Email Address is : {$_POST['Email_Address']}<br />"; 
echo "Your Password Is : {$_POST['Password']}<br />"; 

?> 

Вопрос заключается в том, как это не оказывает никакого влияния на моей базе данных, есть что-то мне не хватает, и нужно добавить к моей SQL коде, так что PHP и SQL взаимодействуют друг с другом и вводом данных?

Или я что-то пропустил из инструкции INSERT INTO?

В любом случае помощь будет оценена, спасибо.

+0

Хорошие отверстия впрыска [SQL ] (http://bobby-tables.com). Наслаждайтесь наличием вашего сервера pwn3d. –

ответ

0

В вашем запросе есть ошибка «да» в конце должен иметь кавычки.

Попробуйте выполнить запрос непосредственно непосредственно против MySQL, чтобы определить, правильно ли синтаксис, а затем просто замените нужные значения.

должен выглядеть, как это для примера:

$res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('$_POST[First_Name]', 'yes')"); 

Немного советов, дезинфицировать ваш вклад, если вы получаете данные от пользователя, или вы будете уязвимы для инъекции SQL атаки.

И использовать функции mysqli_, поскольку функции mysql_ официально устарели. Вы можете прочитать больше о тех, практически в любом месте, как w3schools.com

Полный пример вставки с mysqli_: http://www.w3schools.com/php/php_mysql_insert.asp

Успехов

+0

Удивительная благодарность, похоже, работала. Да, кто-то сказал что-то очень похожее о mysqli, так что я снова посмотрю на это спасибо. – user2210046

+0

Приветствую вас, mysqli довольно прямолинейно, и функции очень похожи на mysql_. Кроме того, если вы узнаете о подготовленных заявлениях mysqli, вам не нужно беспокоиться о том, чтобы дезинформировать ваш пользовательский ввод. Пожалуйста, не забудьте выбрать ответ, если он сработает для вас =). – Ryoku

0

Использование mysql_real_escape_string()

$res=mysql_query("INSERT INTO Persons (First_Name, Second_Name) VALUES ('".mysql_real_escape_string($_POST['First_Name'])."', '".mysql_real_escape_string($_POST[Second_Name])."')");