2015-02-02 2 views
0

я ломать голову против этого и до сих пор я не могу понять, что почему бы не эту работуMysql вставки неудачу в сценарии

include ("db_conn.php"); 

//function for sanitizing the user input 
function clean_input($data) 
{ 
$data = stripslashes($data); 
$data = trim($data); 
$data = htmlspecialchars($data); 
return $data; 
} 
//registration form data validation 
if(!empty($_POST['s_register_submit'])) 
{ 
$Salutation= $F_Name= $L_Name= $email= $pass= $P_Number = ""; 

$Salutation= clean_input($_POST['Salutation']); 
$F_Name= clean_input($_POST['F_Name']); 
$L_Name= clean_input($_POST['L_Name']); 
$email= clean_input($_POST['email']); 
$pass= clean_input($_POST['pass']); 
$P_Number= clean_input($_POST['P_Number']); 
$query= "INSERT INTO STUDENT (Salutation, F_Name, L_Name, email, password, phone) 
     VALUES 
     (`$Salutation`,`$F_Name`,`$L_Name`,`$email`,`$pass`,`$P_Number`)"; 

$query1= mysqli_query($dbhandle,$query) || die("Unable to insert"); 
echo "Saved"; 

А вот содержимое для db_conn.php

$user="root"; 
$password=""; 
$host="localhost"; 
$dbname="Interns"; 

$dbhandle=mysqli_connect($host, $user, $password, $dbname); 
if(!$dbhandle) 
{ 
die("Unable to connect"); 
} 
echo "Connected"; 

При запуске db_conn.php напрямую или через скрипт, в который он включен, его эхо-сигнал «Подключен», все же запрос возвращает «Невозможно вставить».

+0

Попробуйте $ Query1 = mysqli_query ($ dbhandle, $ запрос) || умереть (mysqli_error ($ dbhandle)); для получения сообщения об ошибке из mysql. EDIT: Спасибо VolkerK. Скорректированный код. –

+1

@Markus Müller: mysqli_error ($ dbhandle). В отличие от mysql_error() с mysqli дескриптор не является необязательным. – VolkerK

+0

Появляется как @JohnConde заметила ошибку. У меня сложилось впечатление, что обратные тики используются, чтобы избежать двусмысленности между ключевыми словами и переменными. – Chaitanya

ответ

3

Вы обмениваете строки в кавычки, а не на галочки. Ключи зарезервированы для идентификаторов.

$query= "INSERT INTO STUDENT (Salutation, F_Name, L_Name, email, password, phone) 
    VALUES 
    (`$Salutation`,`$F_Name`,`$L_Name`,`$email`,`$pass`,`$P_Number`)"; 

должен быть

$query= "INSERT INTO STUDENT (Salutation, F_Name, L_Name, email, password, phone) 
    VALUES 
    ('$Salutation','$F_Name','$L_Name','$email','$pass','$P_Number')"; 
+0

Да, ошибка обнаружена. – Chaitanya

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