如何在 php 中将变量数组单独插入数据库?

我如何将数组单独插入数据库,它显示错误。我想一次将它们全部插入...有时数组可能超过 3、5 或 10。


$roll_num = '111,222,333';

$rollnum = explode(",",$roll_num);


$sql ="INSERT INTO eyfstb(specialnum)  VALUES('$rollnum[]')";


if($db->query($sql)== TRUE){

    echo "true";

}else{

     echo "false";

}


呼啦一阵风
浏览 145回答 4
4回答

慕田峪9158850

您可以将其动态插入到您的中Database,这将解决您的问题。:D&nbsp; $roll_num = '111,222,333';&nbsp; $rollnum_arr = explode(",",$roll_num);&nbsp; for($x = 0; $x < count($rollnum_arr); $x++){&nbsp; &nbsp; &nbsp; $sql ="INSERT INTO eyfstb(specialnum)&nbsp; VALUES(".$rollnum_arr[$x].")";&nbsp; }&nbsp; if($db->query($sql) == TRUE){&nbsp; &nbsp; &nbsp; echo "true";&nbsp; }else{&nbsp; &nbsp; &nbsp; echo "false";&nbsp; }&nbsp;

一只甜甜圈

首先,您的 $roll_num 变量不是数组。爆炸函数将按字符串分割您的字符串,如下所示: https:&nbsp;//www.php.net/manual/en/function.explode.php为此,您可以构建您的数组,其中包含您的值,例如:$roll_num&nbsp;=&nbsp;array('111',&nbsp;'222','333');并通过循环插入:for&nbsp;($i&nbsp;=&nbsp;0;&nbsp;$i&nbsp;<&nbsp;count($roll_num);&nbsp;$i++)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;$sql&nbsp;=&nbsp;"INSERT&nbsp;INTO&nbsp;eyfstb(specialnum)&nbsp;&nbsp;VALUES("&nbsp;.&nbsp;$roll_num[$i]&nbsp;.&nbsp;")";&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$db->query($sql);&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$db->execute(); }它应该有效:)

ITMISS

据我了解,您想为每个数组单元格插入一个新行。为此,我建议:$roll_num = '111,222,333';$rollnum = explode(",", $roll_num);$sql = "INSERT INTO eyfstb(specialnum) VALUES('" . implode("'),('", $rollnum) . "')";这将产生以下 SQL:INSERT INTO eyfstb(specialnum) VALUES('111'),('222'),('333')并且比每次迭代循环和插入更有效。

Qyouu

爆炸函数将您的数组转换为多个索引变量,因此关于您的问题,它应该是:$roll_num = '111,222,333';$rollnum = explode(",",$roll_num);$sql ="INSERT INTO eyfstb(specialnum)&nbsp; VALUES('$rollnum[0]')";if($db->query($sql)== TRUE){&nbsp; &nbsp; echo "true";}else{&nbsp; &nbsp; &nbsp;echo "false";}如果您想插入所有这些,您可以将其作为 JSON 存储在表中,或者创建其他列。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5