2013-07-06 4 views
1

У меня есть следующий фрагмент кода, чтобы сделать форму ввода записываемого в таблице с именем «клиент» база данных «smsmart», которая имеет название поля, адрес и телефонписать из формы в базу данных

<?php 

define ('DB_USER', 'root'); 
define ('DB_PASSWORD', ''); 
define ('DB_HOST', 'localhost'); 
define ('DB_NAME', 'smsmart'); 

$link = mysql_connect('localhost', 'root', ''); 

if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 

$db_selected = mysql_select_db("smsmart"); 

if (!$db_selected) { 
    die('Can\'t use ' . smsmart . ': ' . mysql_error()); 
} 

$value1 = $_POST['username']; 
$value2 = $_POST['address']; 
$value3 = $_POST['mobileno']; 

$sql = "INSERT INTO client (name,address,phone) VALUES ('$value1', '$value2', '$value3')"; 

mysql_close(); 
?> 

Поле 'username' 'address' и 'mobileno' из формы не записываются в базу данных. Что я делаю не так?

+0

Вставьте HTML-форму в формате HTML. – Nadh

+0

try 'echo $ sql;' –

+2

Вы не выполняете запрос – Strawberry

ответ

0

Вы сохраняете запрос в переменной, но эта переменная ничего сам

mysql_query($sql); 

mysql_query поможет Вам вставить все данные в вашей базе данных не делает.

0

Вам не хватает mysql_query().

$sql = "INSERT INTO client (name,address,phone) VALUES ('$value1', '$value2', '$value3')"; 
mysql_query($sql); 
mysql_close(); 
1

Похоже, вы генерируете запрос $sql, но не выполняете его. Учитывая отсутствие санитарии на входе $_POST, вы, вероятно, должны использовать параметрический или PDO-метод для защиты от возможных атак SQL.

Ниже приведен пример вставки mySQLi на основе параметров.

// connect to the database 
$dbConnection = mysqli_connect("localhost", "root", "", "smsmart"); 
// prepare statement 
$stmt = mysqli_prepare($dbConnection, "INSERT INTO client (name,address,phone) VALUES (?,?,?)"); 
// bind parameters 
mysqli_stmt_bind_param($stmt, "sss", $value1, $value2, $value3); 
// execute statement 
mysqli_stmt_execute($stmt); 
// close statement 
mysqli_stmt_close($stmt); 
// close database connection 
mysqli_close($link); 
0
$sql = "INSERT INTO client (name,address,phone) VALUES ('$value1', '$value2', '$value3')"; 

mysql_close(); 

, следовательно, добавить mysql_query

должен быть

$sql = "INSERT INTO client (name,address,phone) VALUES ('$value1', '$value2', '$value3')"; 
mysql_query($sql); 
mysql_close(); 
0

Все выглядит отлично, за исключением одного: Просто используйте mysql_query() функция, как и

$sql = "INSERT INTO client (name,address,phone) VALUES ('$value1', '$value2', 
    '$value3')"; 
    mysql_query($sql); 
    mysql_close(); 
Смежные вопросы