php - UPDATE 查询有问题

标签 php mysql forms

我有一个编辑表单。我正在像这样获取行的数据 -

if (isset($_GET["id"])) {
    $pur_id = intval($_GET["id"]);
} else {
    echo "id not set";
}

然后我尝试执行以下 UPDATE 查询。

$qry1 = mysqli_query($con,"UPDATE `purchase_info` SET `remarks` ='$remarks' WHERE `pur_info_id` = '$pur_id'");

此查询确实有效,但它不会更新我数据库中的记录。但是当我简单地传递数值而不是我放入行 ID 的变量时它会更新记录。因此如果我传递 'pur_info_id' = 1 然后它会更新我的记录。

这很奇怪。我正在使用 int 值转换值,但仍然没有运气。请指教。谢谢!!

最佳答案

您的查询没有意义,因为当它实际执行 UPDATE 时,它会将 pur_info_id 列替换为其已有的值。假设 $pur_id 的值为 1,那么您的查询可以写成:

UPDATE `purchase_info`
SET `pur_info_id` = 1,
    `remarks` = '$remarks'
WHERE `pur_info_id` = 1

嗯,这不会更改 pur_info_id 列,但 remarks 可能会更新为新内容。您应该让我们知道您打算执行什么业务逻辑。在任何情况下,以下查询在逻辑上都等同于您的原始查询:

UPDATE `purchase_info`
SET `remarks` = '$remarks'
WHERE `pur_info_id` = '$pur_id'

关于php - UPDATE 查询有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36383729/

相关文章:

php - 在不同应用程序的表单之间传递数据

php - Laravel 动态关系 - 在急切加载时访问模型属性

sql - 如何计算MySQL中日期时间之间的间隔?

python - 使用 Django 使用与 ORM 数据库相同的连接来查询 MySQL 数据库

javascript - 如何从提交按钮获取表单方法和表单操作

php - SQL 更改输入请求

php - Laravel 为 2 列连接同一个表

mysql - 无法登录本地Mysql服务器

php - php中的表单组件重复

html - 如何在 Phalcon 中创建水平表单