Foreach loop with multiple arrays

前端 未结 7 1853
南旧
南旧 2021-01-01 03:50

This is what I want:


foreach($_POST[\'something\'] as $something){
    foreach($_POST[\'example\'] as $example){
        $query = mysq         


        
相关标签:
7条回答
  • 2021-01-01 04:46

    I think the best way would be as a single loop to build a query. This should work even if your arrays are not the same length:

    $size1 = count($_POST['something']);
    $size2 = count($_POST['example']);
    if( $size1 >= $size2 ) {
         $size = $size1;
    } else {
         $size = $size2;
    }
    
    $sql = "INSERT INTO table (row, row2) VALUES";
    $values = array();
    for( $i=0; $i<$size; $i++ ) {
        $values[] = "('" . mysql_real_escape_string($_POST['something'][$i]) . "','" . mysql_real_escape_string($_POST['example'][$i]) . "')";
    }
    
    $sql .= implode(",", $values);
    
    mysql_query($sql);
    

    Also more secure because it escapes your input. This would also be even easier using placeholders with PDO.

    0 讨论(0)
提交回复
热议问题