在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 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章