Passer le tableau à la requête d'insertion SQL en utilisant PHP
P粉207483087
P粉207483087 2023-08-28 21:42:59
0
1
517
<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粉207483087
P粉207483087

répondre à tous(1)
P粉343141633

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal