php - 在 php 中用数组更新 Mysql Row

标签 php mysql arrays ajax foreach

我的cookie就像;

    Array
(
    [1] => 1
    [12] => 1
)

我的表单输入如下; (adet = 数量,idler = 英文的 ids)

<?php $postvalue = $_COOKIE['sepet'];
foreach($postvalue as $id =>$adet)
{
    echo '<input type="hidden" name="idler[]" value="'. $id. '">';
     echo '<input type="hidden" name="adet[]" value="'. $adet. '">';

} ?>

这是我的 php 文件;

if(isset($_POST['submit'])){
$adet = $_POST['adet'];
$idler = $_POST['idler'];

$sql = "UPDATE student SET urun_stok=:stok WHERE urun_id=:idler";
$query = $db->prepare($sql);
foreach( $idler as $key => $n ){

    $query->bindparam(':idler', $idler[$key]);
    $query->bindparam(':adet', $adet[$key]);
    $query->execute();
}

}

模态js;

Modal Confirm
*/
$(document).on('click', '.modal-confirm', function (e) {
    e.preventDefault();
    $.magnificPopup.close();

 $.ajax({
    type: "POST",
    url: "ge.php",
    cache:false,
    data: $('#modalAnim').serialize(),

});


    new PNotify({
        title: 'Success!',
        text: 'Satış Başarılı.',
        type: 'success'
    });
});

我对 php 有点陌生,所以我尝试按 urun_stok 行上的 id 更新我的数据库行。 所以我猜我做错了:)

最佳答案

在查询绑定(bind)参数中检查列名称,如下所示进行更改

foreach( $idler as $key => $n ){
    $sql = "UPDATE table SET urun_stok=:adet WHERE urun_id=:idler";
    $query = $con->prepare($sql);
    $query->bindparam(':idler', $idler[$key]);
    $query->bindparam(':adet', $adet[$key]);
    $query->execute();
}

关于php - 在 php 中用数组更新 Mysql Row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59998514/

相关文章:

php - Woocommerce:从最新订单获取数据

MySQL 错误 #1415 - 不允许从函数返回结果集

PHP 如何根据字符串内容将字符串列表(数组)转换为嵌套数组

Javascript 数组作为更具可读性的数组

arrays - 如何循环进入数组哈希值的哈希值?

php - 使用注册表单将密码存储在数据库中的安全方法是什么?

php - Mockery "shouldReceive"但方法不存在

php - Mysql PDO 中 "RETURNING"子句的语法

php - 我在电子邮件中的结果只显示 "resource id#7"

mysql - Docker MySQL 8 如何设置 --secure-file-priv