gpt4 book ai didi

PHP/MySQL 只更新第一行的宽度

转载 作者:行者123 更新时间:2023-11-29 14:02:26 25 4
gpt4 key购买 nike

我是 PHP/MySQL 的新手,但决定制作某种界面来处理我商店的库存。我已经学到了很多东西,但现在陷入了困境和绝望。

此表单显示一组特定类型的库存和数量:

<form method="post" action="submit.php">
<?php
while ($row = mysql_fetch_assoc($rs)) {
echo"<input type=\"hidden\" name=\"ovid[]\" value=" . $row['option_value_id'] . " />";
echo $row['name'];
echo"<input type=\"text\" name=\"quant[]\" value=" . $row['quantity'] . " />";
echo"<input type=\"submit\" /><br />";
} ?>
</form>

这是submit.php:

$_POST['ovida'] = implode(",",$_POST['ovid']);
$_POST['quanta'] = implode(",",$_POST['quant']);

print $_POST["ovida"];
print $_POST["quanta"];

$ovidyay = $_POST["ovida"];
$quantyay = $_POST["quanta"];

$query = "UPDATE product_option_value SET quantity ='$quantyay' WHERE option_value_id = '$ovidyay'";
$rs = mysql_query( $query )
or die( mysql_error() );

当我按下提交时没有错误(已经有很多错误了),但我唯一可以更新的条目是列表中的第一个条目。任何帮助将不胜感激。

最佳答案

您可以分别迭代和更新每个项目:

for ($i = 0; $i < COUNT($_POST['ovid']); $i++)
{
$ovidyay = $_POST['ovid'][$i];
$quantyay = $_POST["quanta"][$i];

$query = "UPDATE product_option_value SET quantity ='$quantyay' WHERE option_value_id = '$ovidyay'";
$rs = mysql_query($query);
}

此外,该代码容易受到 SQL 注入(inject)攻击,并且您正在使用已弃用的 MySQL php 函数。如果您确实想让代码变得更好、更不易受到攻击,请查看以下链接:

Why shouldn't I use mysql_* functions in PHP?

What could i use instead of mysql_ functions?

Prepated Statements

Prepared Statements with MySQLi

关于PHP/MySQL 只更新第一行的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14863895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com