Search code examples
phpmysqlibindparam

Inserting multiple row records using mysqli bind_param?


I have a code here that works using mysql query.

$N = count($fullname);
for($i=0; $i < $N; $i++)
    mysql_query("INSERT INTO famcomp(fullname,fage,frel,fcivil,fedu,foccup,finco,app_id) VALUES ('$fullname[$i]','$fage[$i]','$frel[$i]','$fcivil[$i]','$fedu[$i]','$foccup[$i]','$finco[$i]','$id')");

how to convert this into mysqli bind_param here's what I did: (I have connection.php (mysqli))

$N = count($fullname);
for($i=0; $i < $N; $i++)
    $stmt = $conn->prepare("INSERT INTO famcomp(fullname,fage,frel,fcivil,fedu,foccup,finco,app_id) VALUES (?,?,?,?,?,?,?,?)");
    $stmt ->bind_param("ssssssss",$fullname[$i],$fage[$i],$frel[$i],$fcivil[$i],$fedu[$i],$foccup[$i],$finco[$i],$id);
}

but still not getting the data.


Solution

  • If you guys looking for solution. here it is: thanks for those who shared their codes and helping me to give ideas to solved this.

    $stmt = $conn->prepare("INSERT INTO famcomp (fullname,fage,frel,fcivil,fedu,foccup,finco,app_id) values (?,?,?,?,?,?,?,?)");
    
    for ($i=0; $i<count($fullname); $i++) {
        $fullname1 = $fullname[$i];
        $fage1 = $fage[$i];
        $frel1 = $frel[$i];
        $fcivil1 = $fcivil[$i];
        $fedu1 = $fedu[$i];
        $foccup1 = $foccup[$i];
        $finco1 = $finco[$i];
        $id1 = $id;
        $stmt->bind_param('sssssssi', $fullname1, $fage1, $frel1, $fcivil1, $fedu1, $foccup1, $finco1, $id1);
    
        $stmt->execute();
    }
    echo "Done";
    
    $stmt->close();