首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新mysql php中的特定字段

更新mysql php中的特定字段
EN

Stack Overflow用户
提问于 2014-02-28 18:39:58
回答 2查看 119关注 0票数 0

我在MySQL中有一个名为product的表,其中的字段设置如下。

代码语言:javascript
复制
id int(3) NOT NULL AUTO_INCREMENT,
nm varchar(255),
category varchar(255),
price int(4)

当我插入一个新的产品,然后我已经放了一些代码来检查复制,如下所示。

代码语言:javascript
复制
select nm,category from product where nm='".$pnm."' AND category='".$cat."'

如果有任何行,那么代码将不会在数据库中插入记录...(问题现在开始)与我在update过程中设置的条件相同。如果用户编辑产品并更改数据库中已有名称或类别,则将返回false并退出代码。

现在,如果我只想更新价格,那么名称和类别将是相同的,那么怎么办?

请尽你最大的努力!感谢朋友们

EN

回答 2

Stack Overflow用户

发布于 2014-02-28 18:57:50

您可以在更新时使用唯一的id..First检查重复项,如果发生重复项,则只更新除名称和类别之外的其他字段,否则更新所有要更改的字段。

我给你的demo.Make更改根据您的要求,如字段名,表名和所有这些。

代码语言:javascript
复制
$sql="select * from product where nm='".$_REQUEST['name']."'" or category='".$_REQUEST['category']."';
$query=mysql_query($sql);
if(mysql_num_rows($query)>0)
{
 while($row=mysql_fetch_array($query))
 {
   $id=$row['id'];
   if(isset($_REQUEST['price']))
   {
    $sql="update product set price='".$_REQUEST['price']."' where id='$id'";
    $query=mysql_query($sql);
   }
 }
}
else
{
$sql="update product set nm='".$_REQUEST['name']."',category='".$_REQUEST['category']."',price='".$_REQUEST['price']."' where id='$id'";
$query=mysql_query($sql);
}
票数 2
EN

Stack Overflow用户

发布于 2014-02-28 18:48:19

两步解决方案:-创建唯一索引-使用INSERT IGNOREUPDATE IGNORE,而不是INSERTUPDATE

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22092733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档