将数组元素插入数据库

时间:2010-12-22 20:05:10

标签: php

我想将每个数组的每个元素存储到mysql数据库字段中。我怎么能这样做?

<?php

// primarily a method for storing data
// arrays are counted from 0

$hosts = array(
array("ronmexico.kainalopallo.com/", "beforename=$F_firstname%20$F_lastname&gender=$F_gender",
"Your Ron Mexico Name is ",
"/the ultimate disguise, is ([^<]+)<\/b><\/u>/s"),<u><b>([^<]+)<\/b><\/u>/s"),

array("rumandmonkey.com/widgets/toys/mormon/index.php",
"gender=$F_gender&firstname=$F_firstname&surname=$F_lastname",
"Your Mormon Name is ","/
My <p>My Mormon name is
<b>([^<]+)<\/b>!<br \/>/s")
);

return $hosts;

?>

2 个答案:

答案 0 :(得分:0)

您可以serialize数组并将序列化数组插入数据库。然后,我们从数据库中提取数据,运行unserialize,它将变回PHP数组。

更多信息:PHP: serialize

答案 1 :(得分:0)

如果您已经知道Array的Key-Value配对和MySQL的表列之间的映射,您可以尝试使用数组构建MySQL语句:

$sql = "insert into $table ";
foreach($arr as $key => $value) {
    $sql .= "set $key = $value, ";
}
$sql .= ";";

如果您有像array( array(1,2,3), array(4,5,6), array(7,8,9) );

这样的数组结构

您知道for($arr as $key => $val)会为您提供类似[1] => array(1,2,3)

的内容

虽然我认为你不能使用该方法保存任意深度数组。如果您有预先不知道阵列结构有多深的情况,或者它与数据库的关系,那么您应该保存像mririgo这样的序列化版本。