使用PHP將陣列傳遞給SQL插入查詢
P粉207483087
P粉207483087 2023-08-28 21:42:59
0
1
498
<p>我有一個 SQL 查詢來插入沒有列名稱的資料:</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>我想要將1,2,3當作陣列插入,類似這樣:</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>我也嘗試了php的implode函數,但它沒有起作用。任何幫助將不勝感激。謝謝! </p>
P粉207483087
P粉207483087

全部回覆(1)
P粉343141633

您沒有提供它要插入的表結構,但是如果您只想解決將$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 .= ")";

希望這可以幫助到您,如果沒有,請提供有關要插入的資料和資料庫表結構的更多詳細信息,以便我們更好地理解問題。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板