我的php脚本没有将我的数组的内容插入MySql数据库。这里有一个代码片段。PHP不插入数组到MySQL数据库
<?php
session_start();
$host="localhost";
$user="root";
$password="";
$database="burudani db";
$con=mysqli_connect($host,$user,$password,$database);
if(!$con or !$database){
echo'Connection to MySQL failed!';
echo json_encode(0);
}else{
$datx=$_POST['data'];
if(isset($_POST['data'])){
$title=$datx[0];
$year=$datx[1];
$format=$datx[3];
$type=$datx[5];
$genre=$datx[6];
$desc=$datx[7];
$actors=$datx[11];
$imi=$datx[8];
$imr=$datx[9];
$pos=$datx[10];
$comments=$datx[2];
$price=$datx[4];
$sql="insert into `movies` values(NULL,'$title','$year','$format','$type','$genre','$desc','$actors','$imi','$imr','$pos','$comments','$price') or die(mysql_error());";
$result=mysqli_query($con,$sql);
if(!$result){
echo json_encode(1);
}
else{
echo json_encode(2);
}
}
else if(!isset($_POST['dat'])){
echo json_encode(3);
}
}
mysqli_close($con);
?>
数组$ datx通过javascript中的ajax发送。现在只有在数据库中存在title
时才会插入记录。例如,如果我尝试插入标题为“哈利波特”的记录,并且数据库中没有带有标题“哈利波特”的记录,则不会插入。 我试过使用unset($datx);
但没有成功。 title
字段是MySQL中的文本类型。请帮忙,谢谢。
'或die(mysql_error())'在查询文本中。你知道你的代码中写了什么吗? –
尝试在查询方法 –
或die(mysql_error())之后打印'mysqli_error()';'不应该是sql的一部分。应该是'$ sql =“插入...'$ price')”; $ result = mysql_query($ con,$ sql)或死(mysql_error())'。注意:您的代码容易受到SQL注入攻击。 – iblamefish