Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 脚本中的Mysql插入失败_Php_Mysql_Sql_Mysql Error 1064 - Fatal编程技术网

Php 脚本中的Mysql插入失败

Php 脚本中的Mysql插入失败,php,mysql,sql,mysql-error-1064,Php,Mysql,Sql,Mysql Error 1064,我一直在为这件事伤脑筋,但我仍然无法理解为什么这件事行不通 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

我一直在为这件事伤脑筋,但我仍然无法理解为什么这件事行不通

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的脚本运行db_conn.php时,其回显为“Connected”,查询仍然返回“无法插入”。

您将字符串括在引号中,而不是引号中。记号是为标识符保留的

$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')";

您可以将字符串用引号括起来,而不是用记号括起来。记号是为标识符保留的

$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')";

您可以将字符串用引号括起来,而不是用记号括起来。记号是为标识符保留的

$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')";

您可以将字符串用引号括起来,而不是用记号括起来。记号是为标识符保留的

$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')";

尝试$query1=mysqli_查询($dbhandle,$query)| die(mysqli_错误($dbhandle));从mysql获取错误消息。编辑:谢谢你,沃尔克。相应地调整了代码。@Markus Müller:mysqli_错误($dbhandle)。与mysqli的mysql_error()不同,该句柄不是可选的。看起来像@johncode发现了这个bug。我有这样一种印象,即使用反勾号来避免关键字和变量之间的歧义。试试$query1=mysqli_query($dbhandle,$query)| | die(mysqli_error($dbhandle));从mysql获取错误消息。编辑:谢谢你,沃尔克。相应地调整了代码。@Markus Müller:mysqli_错误($dbhandle)。与mysqli的mysql_error()不同,该句柄不是可选的。看起来像@johncode发现了这个bug。我有这样一种印象,即使用反勾号来避免关键字和变量之间的歧义。试试$query1=mysqli_query($dbhandle,$query)| | die(mysqli_error($dbhandle));从mysql获取错误消息。编辑:谢谢你,沃尔克。相应地调整了代码。@Markus Müller:mysqli_错误($dbhandle)。与mysqli的mysql_error()不同,该句柄不是可选的。看起来像@johncode发现了这个bug。我有这样一种印象,即使用反勾号来避免关键字和变量之间的歧义。试试$query1=mysqli_query($dbhandle,$query)| | die(mysqli_error($dbhandle));从mysql获取错误消息。编辑:谢谢你,沃尔克。相应地调整了代码。@Markus Müller:mysqli_错误($dbhandle)。与mysqli的mysql_error()不同,该句柄不是可选的。看起来像@johncode发现了这个bug。我有这样一种印象,回勾是用来避免关键字和变量之间的歧义。