嗨,我正在尝试使用数组在 mysql 中插入数据,有人可以看看我的代码吗,我似乎无法让它工作。
这是我的 post.php
/* POST.PHP */
$post_id = somefunction();
$title = $_POST['title'];
$body = $_POST['body'];
$myarray = array('','$title','$body','$rowId');
insertToDB($myarray);
这是在我的 function.php 中
function insertToDB($myArray) {
$db = dbConnect();
$query = "INSERT INTO `posts`(`id`, `title`, `body`, `post_id`) VALUES ";
$valuesArr = $array();
foreach($myarray as $row) {
$id = (int)$row[0]; // as my primary, auto increment
$title = mysql_real_escape_string($row[1]);
$body = mysql_real_escape_string($row[2]);
$post_id = (int)$row[3];
$valuesArr[] = "(`id`, `title`, `body`, `post_id`)";
}
$sql .=implode(',', $valuesArr);
$db->query($sql);
}
请注意,我的 $id = (int)$row[0];
是主要且自动递增的。
最佳答案
使用键和值构造数组
$myarray = array("id"=>'',"title"=>$title,"body"=>$body,"pid"=>$rowId);
并使用PDO代替mysql_*函数(已弃用)。
$sql=$dbh->prepare("INSERT INTO `posts`(`id`, `title`, `body`, `post_id`) VALUES (:id,:title,:body,:pid)");
foreach($myarray as $row=>$value){
$sql->bindValue(":".$row,$value);
}
$sql->execute();
有关PDO的更多信息:http://www.php.net/manual/en/book.pdo.php
关于php - 使用PHP数组将数据插入MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19478632/