php - 使用PHP数组将数据插入MYSQL

标签 php mysql arrays

嗨,我正在尝试使用数组在 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/

相关文章:

javascript - 匹配两个数组作为数组的对象

php - Oracle/PHP - ORA-00911 更新字符无效

php - 编译错误 : Cannot use positional argument after named argument

php - 从其他表添加数据到表单+ Symfony2

php - 无法使用带有字符串字段的 Where 子句搜索数据库

php - MySQL 在数组中选择列表

python - 元素索引的矢量化搜索

javascript - Simogeo FileManager 查看/上传

php - 在 Laravel 5 中使用 Entrust 将权限分配给用户,而不是角色

php - MySql查询2条记录为1条结果