0

I am a beginner and I am trying to use prepared statement for edit page/ form,but i dont know how use to explode with prepared statement.I want to fetch data in array data in avery input. For this <input type="text" name="adimpdate[]" id="adimpdate[]" value="<?php echo $row568->adimpdate; ?>" placeholder="enter">

  <?php
    
    $id= $_GET['id'];
    $sql011 = $mysqli->prepare("SELECT * FROM detail WHERE id = ? ");
    $sql011->bind_param("i",$id);
    $sql011->execute();
    $res658=$sql011->get_result();
    ?>
<?php
 while($row658=$res658->fetch_object()){
?>

    <table>
    <tr >
    <td id="imp" class="wrap">
        <ul class="my_box">
            <input type="text" name="adimpdate[]" id="adimpdate[]" value="<?php echo $row568->adimpdate; ?>"  placeholder="enter" required>
            <button id="impbtn" type="button" name="add" onclick="add_more()">Add</button>
        </ul>
        <input type="hidden" id="box_count" value="1">
    </table>
    <input id="uplbtn" type="submit"  name="upload_all" value="UPLOAD">
    </form>
    </div>
    </div>
    </div>
    

I used Jquery to add more input and used implode to save data in database

 <script>
    /**(1)*****Important Dates******** */

function add_more(){
    var box_count=jQuery("#box_count").val();
    box_count++;
    jQuery("#box_count").val(box_count);
    jQuery(".wrap").append('<ul class="my_box" id="box_loop_'+box_count+'"><input type="text" name="adimpdate[]" id="adimpdate[]"  placeholder="example- Application Begin : 22/01/2021"><button class="remove_field" type="button" onclick=remove_more("'+box_count+'")>Remove</button></ul>');
}
function remove_more(box_count){
    jQuery("#box_loop_"+box_count).remove();
    var box_count=jQuery("#box_count").val();
    box_count--;
    jQuery("#box_count").val(box_count);
}
</script>  
<?php
}
?>
  • 1
    Are you looking for [this](https://stackoverflow.com/questions/17226762/mysqli-bind-param-for-array-of-strings)? – El_Vanja Mar 03 '21 at 09:18

1 Answers1

0

Prepared statement placeholders work somehow like php variable interpolation so to it does not replace any SQL. You still have to use SQL IN() function to query by multiple values or define a single prepared statement to find by id and execute it for every entry in the array.

  $ids = [1, 2, 3];
  $sql011 = $mysqli->prepare("SELECT * FROM detail WHERE id = ? ");
  foreach ($ids as $id) {
    $sql011->bind_param("i",$id);
    $sql011->execute();
    $res658=$sql011->get_result();
  }
    
Code Spirit
  • 3,992
  • 4
  • 23
  • 34