我的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