在php中使用数组更新Mysql Row [关闭]

Posted

技术标签:

【中文标题】在php中使用数组更新Mysql Row [关闭]【英文标题】:Updating Mysql Row with array in php [closed] 【发布时间】:2020-05-16 19:20:29 【问题描述】:

我的 cookie 是这样的;

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

我的表单输入像; (adet = 数量,idler = 英文ID)

<?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 更新我的数据库行。 所以我猜我做错了:)

【问题讨论】:

Adet 和 stok 是不同的词 我已经添加了模态js,可能问题与js有关。 【参考方案1】:

在查询绑定参数中检查列名,如下更改

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();

【讨论】:

实际上这是我最后一次保存我不小心发送旧版本^^这一定是正确的但不知何故我无法插入到数据库。我已经用单个插入代码进行了更改,但我不知道为什么我不能在 foreach 循环中...... 哦,好吧!将 sql 查询放在 foreach 循环中,意味着 $sql 和 $query 变量都在循环中 nop 不工作 :( 也许它的形式 foreach 是问题? $adet = $_POST['adet'];$idler = $_POST['idler']; 变量得到的输出是什么,是数组值吗? Array ( [0] => 1 ) 和 Array ( [0] => 2 ) 所以问题就在这里 :) 但是我该如何解决,而且 sql 代码也不起作用,我试过没有变量但代码不起作用似乎我们在这里有多个sos情况:D

以上是关于在php中使用数组更新Mysql Row [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

想把php查到的mysql数据输出在一个数组里

php mysql 查询

如何使用 php 从多行表单更新 mysql 数据库 [关闭]

使用php从csv快速更新大量数据mysql [关闭]

如何在php和mysql中使用数组和for循环更新表列?

PHP MYSQL 使用数组中的值更新多行