**结束。**此问题不符合堆栈溢出准则。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
11个月前关门了。
改进这个问题
foreach($_SESSION['s'] as $key=>$value){
$name[]="'".$value."'";
}
$name=implode(",",$name);
$conn= mysqli_connect("localhost","root","","slashbill");
for($x=0;$x<=3;$x++){
$sql = "INSERT INTO slashbill (member,give,receive,paid) VALUES
($name,'".$give[$x]."','".$receive[$x]."','".$paid1[$x]."')";
$exe=mysqli_query($conn,$sql);
}
我对name数组有一个小问题,当我执行上面的代码时,每行的成员值都取
我得到了什么
member
-----
name1,name2,name3,name4
name1,name2,name3,name4
name1,name2,name3,name4
name1,name2,name3,name4
我想要的是这个
member
-----
name1
name2
name3
name4
注意:其他每一列都被完美地插入,稍后我将考虑sql注入安全性。
1条答案
按热度按时间w8ntj3qf1#
我想你只需要保持
$name
作为一个数组,不要将它内爆成一个字符串,然后在上面循环。我不知道里面有什么$give
和其他人。我看到它们是数组,但我不明白它们与$name
. 下面的代码执行此操作并插入16条记录(假设有4个名称):但是,如果会话数据和其他变量之间存在某种神奇的关系,并且您真的只想插入4行,那么这个版本仍然跟踪
$x
可以使用。我知道你说过你以后会担心逃避,但我只是把它换成了一份事先准备好的声明,因为这对每个人来说都更容易准备好。