所以问题是,当上传到mysql时,数据库只上传数组中的最后一个值。
if (substr($avsnitt["serier"], 0, 16) === 'http://random'){
// Create DOM from URL or file
$html = file_get_html($avsnitt["serier"]);
$array_title = array();
$array_link = array();
foreach($html->find('div[class=entry]') as $element){
foreach ($element->find('a') as $text) {
$array_title[] = $text->plaintext;
}
foreach ($element->find('a') as $test) {
$array_link[] = $test->href;
}
$count_name = count($array_title);
for($i=0; $i<$count_name; $i++){
$_array_title = mysql_escape_string($array_title[$i]);
$_array_link = mysql_escape_string($array_link [$i]);
print_r($_array_title);
print_r($_array_link);
$sql2 = "INSERT INTO episodes (name, ID, link) VALUES ('" . @$_array_title. "','" . @$avsnitt["ID"] . "', '" . @$_array_link . "');";
mysqli_query($CON, $sql2);
}
}
}
我是php mysql的新手,所以我不太清楚如何将数组上传到mysql,快速的答案将不胜感激。
答案 0 :(得分:0)
我认为,您的数据库字段“link”是类型字符串。 你想插入你的变量$ _array_link,这是类型数组。
因此尝试序列化($ _ array_link)将“转换”数组转换为字符串。 我认为,@不是必须的,没有它是更好的阅读。
$sql2 = "INSERT INTO episodes (name, ID, link)
VALUES ('" . @$_array_title. "','" . @$avsnitt["ID"] . "', '" . serialize($_array_link). "');";
稍后,您要使用数据库中的变量。因此,在选择数据后,使用unserialize()来恢复数据。
答案 1 :(得分:0)
问题是数据库ID是主要密钥,只允许使用特定ID