【问题标题】:Insert array content into database - php将数组内容插入数据库 - php
【发布时间】:2014-12-30 19:54:48
【问题描述】:

我试图在数据库的每一行中插入变量 $num,它是一个数组。我想在数据库的每一行中插入每个数组位置。

这就是我的代码,在它插入单词“Array”的那一刻:

foreach($html2->find('small[class=menu-item__label__count]') as $aholder) {

$holderdes=$aholder->outertext;
}
preg_match_all('!\d+!', $holderdes, $num);
//preg_match_all('/(\([0-9]+)\)/',  $holderdes,$num);

echo print_r($num); 
echo("<script>console.log('PHP: ".$num."');</script>");
$insert="INSERT into spec_insert(designers) VALUES ('".$num."');";

$sql=mysql_query($insert);

if ($sql === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " ;
}
}

【问题讨论】:

  • 很可能$num是一个数组,而你想要的结果(数字)在里面,你已经有了print_r($num),只要检查里面的内容并直接指向它。并停止使用mysql_*。立即学习使用 mysqli_*PDO 和准备好的语句
  • print_r($num)里面有几个:Array ( [0] =&gt; Array ( [0] =&gt; 34 ) )
  • 然后直接指向它,echo $num[0][0],它只是嵌套的。

标签: php mysql arrays insert


【解决方案1】:

如果要将每个数组值插入 DB 表spec_insert 的特定列,则可以使用foreach() 检索数组的索引值。示例

foreach($num as $val):
    if(is_array($val)):
        foreach($val as $v):
            $insert="INSERT into spec_insert(designers) VALUES ('".$v."');";
            $sql=mysql_query($insert);
        endforeach;
    else:
        $insert="INSERT into spec_insert(designers) VALUES ('".$val."');";
        $sql=mysql_query($insert);
    endif;
endforeach;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    • 2017-10-03
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    相关资源
    最近更新 更多