告诉我如何进行多次插入?有一个数组 $userArrayIds = ['34','87','76'] 一个大数组。
你真的不能这样做吗?
foreach( $userArrayIds as $uid ){
$sql = "INSERT INTO `message` (message,user_id)"."VALUES('Привет' , '$uid' );";
$query = mysqli_query($db,$sql) or die("Ошибка: " . mysqli_error($db));
}
不知怎的,在我看来,这不是正确的道路。
首先,您需要准备一个数组,其中包含插入所需的所有数据。其中的每一行应代表数据库中一行的一组数据。
剩下的就是非常简单的技术问题。最重要的是不要忘记任何数据都只能通过准备好的表达式输入请求。
首先,我们准备一个 形式的查询
INSERT INTO t (c1,c1,c3) VALUES (?,?,?),(?,?,?)...
,其中块的数量(?,?,?)
对应于主数组中的行数,一个块中问号的数量对应于插入到每行中的值的数量。这是使用函数的简单代码完成的str_repeat()
。之后,我们执行查询,将原始二维数组“折叠”为一维数组。执行将取决于 PHP 版本。从8.2开始,它是在一行中完成的
如果版本比较旧的话,代码会多一点
是的,重要的是永远忘记所有这些或
die
上个世纪的"Ошибка: "
事情。mysqli_error
首先,它不是必需的,其次,它在现代版本的 PHP 中仍然无法工作