Heim  >  Fragen und Antworten  >  Hauptteil

Übergeben Sie das Array mit PHP an die SQL-Einfügeabfrage

<p>Ich habe eine SQL-Abfrage zum Einfügen von Daten ohne Spaltennamen: </p> <pre class="brush:php;toolbar:false;">$sql = "INSERT INTO test_table VALUES (null,1,2,3) " if (mysqli_query($conn, $sql)) {echo 'success!';}else {echo 'failed!';}</pre> <p>Ich möchte 1,2,3 als Array einfügen, etwa so: </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 'success!';}else {echo 'failed!';}</pre> <p>Ich habe auch die Implode-Funktion von PHP ausprobiert, aber es hat nicht funktioniert. Jede Hilfe wäre sehr dankbar. Danke! </p>
P粉207483087P粉207483087418 Tage vor448

Antworte allen(1)Ich werde antworten

  • P粉343141633

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

    您没有提供它要插入的表结构,但是如果您只想解决将$data数组拆分为组成部分的问题,可以有几种方法:

    a) 使用implode(),尽管您已经提到尝试过它,但应该可以正常工作:

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

    b) 引用每个数组索引:

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

    但这仅适用于数组中有固定数量的值。

    c) 遍历数组:

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

    希望这可以帮助到您,如果没有,请提供有关要插入的数据和数据库表结构的更多详细信息,以便我们更好地理解问题。

    Antwort
    0
  • StornierenAntwort