0

通过一个查询,我得到了两个 php 函数。他们都应该在数据库表中插入一些值。所以第一个

mysql_query("INSERT INTO images (thumb) VALUES ('$path')");

循环做薄。但是后来我需要在其他列中添加一些值,但问题是所有 thouse 值都存储在数组中。功能的样子。

 function uploading_paths($names_array){
    $data = '(\'' . implode('\'),(\'', $names_array) . '\')';
    mysql_query("INSERT INTO `images` (`image_path`) VALUES $data");

}

那么如何thumb通过一个查询将 $data 数组中的值添加到已填充列的行中?可能吗?

4

1 回答 1

1

尝试为此使用 PHP PDO。它使您可以准备一个语句,然后根据需要多次执行它。例子:

$mysql_host = "127.0.0.1";
$mysql_user = "root";
$mysql_password = "";
$mysql_database = "myShop";
$dbLink = new PDO("mysql:host=$mysql_host;dbname=$mysql_database;charset=utf8", $mysql_user, $mysql_password, array(PDO::ATTR_PERSISTENT => true));
$dbLink->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);
$query = $dbLink->prepare("insert into `images` (`thumb`, `path`) values (?, ?);");
foreach ($names_array as $thumb => $path)
{  
    $query->execute(array($thumb, $path)); // note the order as they should appear
}

最终,您可以通过以下方式替换最后一条路径:

$query = $dbLink->prepare("insert into `images` (`thumb`, `path`) values (:thumb, :path);");
foreach ($names_array as $thumb => $path)
{  
    $query->execute(array(":path" => $path, ":thumb" => $thumb)); // no order restriction
}

...并且您不必按照您拥有字段的顺序提供执行数组。

问候 !

于 2012-11-15T20:32:04.997 回答