我有预订系统,需要将详细信息插入mysql数据库。我的所有变量都是字符串,其中一个是数组 - 所以我需要为每个数组元素插入相同的信息($ ticketnumber)。我尝试过使用foreach循环,但它似乎不起作用。如何只使用一个INSERT语句来执行此操作,因为人们可能会选择不同数量的票来购买?
以下是代码的一部分:
<?php
$day = $_SESSION['date'];
$time = $_SESSION['time'];
$name = $_REQUEST['name'];
$ticketnumber = $_REQUEST['tickets']; //this is the array variable
foreach ($ticketnumber as $ticket){
$sql = "INSERT INTO table VALUES ('$name', '$day', '$time', '$ticket');";
$handle = $conn->prepare($sql);
$handle->execute();
}
?>
在这种情况下,我的数组的值是(它取决于您检查的票数):
array(2) { [0]=> string(3) "010" [1]=> string(3) "011" }
这也与$ticket
的值相匹配,为什么会发生这种情况?
我的会话和数据库连接在此之前建立。我也尝试用字符串替换数组变量,并且insert语句有效。
感谢任何帮助!
谢谢。