使用for循环插入mysql

时间:2015-11-13 20:46:02

标签: php mysql

所以我有一个包含4个数组输入的表单。当我点击提交时,它只提交第一个数组值。 ID是当前会话持有者,以确保它创建具有相同ID的多个行。我试图让它循环并在同一个ID下插入多个产品。有什么想法吗?

session_start();

$conn = new mysqli("$server", "$user_name", "$password", "$database");

$productName = $_POST['productName'];
$productPrice = $_POST['productPrice'];
$productDescription = $_POST['productDescription'];
$productImage = $_POST['productImage'];
$id = $_SESSION['id'];
$productNameCount = count($productName);

if (isset($productName) && isset($productPrice) && isset($productDescription) && isset($productImage)) {
    for ($i = 0; $i < $productNameCount; $i++) {
        $productNumber = $i + 1;
        $sql .= "INSERT INTO Products (id, productNumber, productName, productPrice, productDescription, productImage) 
                VALUES ('$id', '$productNumber', '$productName[$i]', '$productPrice[$i]',
                        '$productDescription[$i]', '$productImage[$i]');";
    }
    $conn->query($sql);
}

mysqli_close($conn);

1 个答案:

答案 0 :(得分:0)

首先,你必须找到一种方法来获得整个数组。 我会写一个小例子:

var jsonString = JSON.stringify(array_in_javascript);

这是一个javascript。 然后在PHP中:

$names = json_decode(stripslashes($_POST['jsonString']));

您必须找到与您的代码相关的方法。  您也可以从prepare语句中获益以插入多个记录。