Maison  >  Questions et réponses  >  le corps du texte

Passer le tableau à la requête d'insertion SQL en utilisant PHP

<p>J'ai une requête SQL pour insérer des données sans noms de colonnes : </p> <pre class="brush:php;toolbar:false;">$sql = "INSERT INTO test_table VALUES (null,1,2,3) " if (mysqli_query($conn, $sql)) {echo 'succès !';}else {echo 'échec !';}</pre> <p>Je souhaite insérer 1,2,3 sous forme de tableau, quelque chose comme ceci : </p> <pre class="brush:php;toolbar:false;">$data = [1,2,3]; $sql = "INSERT INTO test_table VALUES (null,$data) " if (mysqli_query($conn, $sql)) {echo 'succès !';}else {echo 'échec !';}</pre> <p>J'ai aussi essayé la fonction d'implosion de php mais cela n'a pas fonctionné. Toute aide serait grandement appréciée. Merci! </p>
P粉207483087P粉207483087418 Il y a quelques jours447

répondre à tous(1)je répondrai

  • P粉343141633

    P粉3431416332023-08-29 17:56:37

    Vous ne fournissez pas la structure de table dans laquelle il est inséré, mais si vous souhaitez simplement résoudre le problème de la division du tableau $data en ses composants, il existe plusieurs façons :

    a) Utilisez implode(), même si vous avez déjà mentionné l'essayer, cela devrait fonctionner :

    $data = [1,2,3];    
    $sql = "INSERT INTO test_table VALUES (null,".implode(',',$data).")";

    b) Référencez chaque index de tableau :

    $data = [1,2,3];    
    $sql = "INSERT INTO test_table VALUES (null,{$data[0]},{$data[1]},{$data[2]})";

    Mais cela ne fonctionne que si vous avez un nombre fixe de valeurs dans le tableau.

    c) Parcourir le tableau :

    $data = [1,2,3];    
    $sql = "INSERT INTO test_table VALUES (null"
    foreach($data as $value){ $sql .= ",$value"; }
    $sql .= ")";

    J'espère que cela vous aidera, sinon veuillez fournir plus de détails sur les données insérées et la structure de la table de la base de données afin que nous puissions mieux comprendre le problème.

    répondre
    0
  • Annulerrépondre