使用PHP将数组传递给SQL插入查询
P粉207483087
P粉207483087 2023-08-28 21:42:59
0
1
489
<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 .= ")";

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板