深圳市金黑网络技术有限公司始终坚持以用户需求为导向,提供安全、稳定、高效的产品和服务!
签到 · 搜索导航 · 服务热线 · 微信/手机:17817817816

深圳网站建设

查看: 371|回复: 0

php开发SQL封装之生成更新语句

[复制链接]

UID
1
贡献
844
金币
1540
主题
520
在线时间
333 小时
注册时间
2022-1-15
最后登录
2024-11-12
QQ
发表于 2022-12-12 21:54:59 | 371 | 0 | 显示全部楼层 |阅读模式
php开发SQL封装之生成更新语句

语法代码:
  1. <?php
  2. $table='products';        //表名
  3. $data['proname']='钢笔';
  4. $data['proprice']=120;
  5. $data['proID']='111';
  6. //获取主键
  7. function getPrimaryKey($table) {
  8.         //连接数据库
  9.         $link=mysqli_connect('localhost','root','root','data');
  10.         mysqli_set_charset($link,'utf8');
  11.         //查看表结构
  12.         $rs=mysqli_query($link,"desc `{$table}`");
  13.         //循环判断主键
  14.         while($rows=mysqli_fetch_assoc($rs)){
  15.                 if($rows['Key']=='PRI')
  16.                         return $rows['Field'];
  17.         }
  18. }
  19. //第一步:获取非主键
  20. $keys=array_keys($data);        //获取所有键
  21. $pk=getPrimaryKey($table);        //获取主键
  22. $index=array_search($pk,$keys);        //返回主键在数组中的下标
  23. unset($keys[$index]);                //删除主键
  24. //第二步:拼接`键`='值'的形式
  25. $keys=array_map(function($key) use ($data){
  26.         return "`{$key}`='{$data[$key]}'";
  27. },$keys);
  28. $keys=implode(',',$keys);
  29. //第三步:拼接SQL语句
  30. echo $sql="update `{$table}` set $keys where $pk='{$data[$pk]}'";
复制代码

楼主热帖

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

快速回复 返回顶部 返回列表