【发布时间】:2016-02-05 22:47:26
【问题描述】:
您能否看一下下面的 sn-ps,让我知道为什么我无法将数组值插入数据库。在 Js 文件中我有:
<script>
var arr = ["foo", "2015/11/04", "Jill", "Smith", "60"];
var serializedArr = JSON.stringify( arr );
$("#loader").on("click", function(){
var upload = $.ajax({
type: "POST",
url: "loader.php",
data: {array:serializedArr},
cache: false,
beforeSend: function() {
}
});
});
在 PHP 文件中
<?php
define ( 'DB_HOST', 'localhost' );
define ( 'DB_USER', 'root' );
define ( 'DB_PASSWORD', '' );
define ( 'DB_NAME', 'dbapp' );
//$array = json_decode($_POST['array']);
$array = $_POST['array'];
//Open a new connection to the MySQL server
$mysqli = new mysqli('DB_HOST','DB_USER','DB_PASSWORD','DB_NAME');
$arr_one = $mysqli->real_escape_string($array[0]);
$arr_two = $mysqli->real_escape_string($array[1]);
$arr_three = $mysqli->real_escape_string($array[2]);
$arr_four = $mysqli->real_escape_string($array[3]);
$arr_five = $mysqli->real_escape_string($array[4]);
if ($mysqli->connect_error) {
die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
//MySqli Insert Query
$insert_row = $mysqli->query("INSERT INTO `models` (name, date, nip, tip, age) VALUES($arr_one, $arr_two, $arr_three, $arr_four, $arr_five)");
if($insert_row){
print 'Success! ID of last inserted record is : ' .$mysqli->insert_id .'<br />';
}else{
die('Error : ('. $mysqli->errno .') '. $mysqli->error);
}
// close connection
$mysqli->close();
?>
我都试过了
$array = json_decode($_POST['array']);
和
$array = $_POST['array'];
但我无法加载数据,甚至页面上没有错误消息?!
【问题讨论】:
-
我希望
$mysqli = new mysqli('DB_HOST','DB_USER','DB_PASSWORD','DB_NAME');失败 -
@hjpotter92,谢谢,但你是什么意思?
-
发出 ajax 请求时,您是否在控制台中看到任何内容?正如@hjpotter92 所说,对 mysqli 的调用使用字符串而不是之前定义的常量
-
不,控制台中什么都没有!
-
当您处理请求时,
$_POST['array']中究竟是什么?