PHP 简单 HTML DOM 解析数组到数据库
PHP Simple HTML DOM Parser array to database
所以问题是,当上传到 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 的,请快速回答,谢谢。
我认为,您的数据库字段 "link" 是字符串类型。
您要插入变量 $_array_link, 是数组类型。
所以尝试序列化($_array_link)到"convert"数组到字符串。
我觉得,@不是必需的,没有它更好读。
$sql2 = "INSERT INTO episodes (name, ID, link)
VALUES ('" . @$_array_title. "','" . @$avsnitt["ID"] . "', '" . serialize($_array_link). "');";
稍后,您想使用数据库中的变量。所以在你 SELECT 你的数据之后,使用 unserialize() 来取回数组。
问题是作为主键的数据库 ID 只允许具有特定 ID 的数据库 ID
所以问题是,当上传到 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 的,请快速回答,谢谢。
我认为,您的数据库字段 "link" 是字符串类型。 您要插入变量 $_array_link, 是数组类型。
所以尝试序列化($_array_link)到"convert"数组到字符串。 我觉得,@不是必需的,没有它更好读。
$sql2 = "INSERT INTO episodes (name, ID, link)
VALUES ('" . @$_array_title. "','" . @$avsnitt["ID"] . "', '" . serialize($_array_link). "');";
稍后,您想使用数据库中的变量。所以在你 SELECT 你的数据之后,使用 unserialize() 来取回数组。
问题是作为主键的数据库 ID 只允许具有特定 ID 的数据库 ID