首页 > 编程语言 >PHP 封装整理 insert语句

PHP 封装整理 insert语句

时间:2024-03-21 09:31:55浏览次数:29  
标签:insert keyStr value else key strtoupper 封装 PHP paramStr

废话不多说直接上代码

public function insert($table, $data, $keyName,  $canRepeatAdd = true)
    {
        $keyStr = "";
        $paramStr = "";
        $params = [];
        foreach ($data as $key => $value)
        {
            if (is_array($value) || $key == $keyName)
            {
                continue;
            }
            if (!empty($keyStr) && !empty($paramStr))
            {
                $keyStr .= ", ";
                $paramStr .= ", ";
            }
            if ($value === null)
            {
                $keyStr .= "`{$key}`";
                $paramStr .= "null";
            }
            else if (strtoupper($value) == "NOW()")
            {
                $keyStr .= "`{$key}`";
                $paramStr .= "NOW()";
            }
            else if(strpos(strtoupper($value), "FROM_UNIXTIME") !== false)
            {
                $keyStr .= "`{$key}`";
                $paramStr .= "{$value}";
            }
            else if(strpos(strtoupper($value), "DATE_FORMAT") !== false)
            {
                $keyStr .= "`{$key}`";
                $paramStr .= "{$value}";
            }
            else if(strpos(strtoupper($value), "DATE_ADD") !== false)
            {
                $keyStr .= "`{$key}`";
                $paramStr .= "{$value}";
            }
            else if(strtoupper($value) == "UNIX_TIMESTAMP()")
            {
                $keyStr .= "`{$key}`";
                $paramStr .= "UNIX_TIMESTAMP()";
            }
            else
            {
                $keyStr .= "`{$key}`";
                $paramStr .= "?";
                $params[] = $this->format($value);
            }
        }
        $ignore = "";
        if(!$canRepeatAdd)
        {
            $ignore = "IGNORE";
        }
        $sql = "INSERT {$ignore} INTO {$table} ({$keyStr}) VALUES ({$paramStr})";
        if (!Database::$Db->array_params_query($sql, $params))
        {
            return 0;
        }
        return Database::$Db->new_identity();
    }

调用示例

$this->insert('数据库.表名', 要添加的数据, 主键);

标签:insert,keyStr,value,else,key,strtoupper,封装,PHP,paramStr
From: https://blog.csdn.net/qq_39294511/article/details/136896384

相关文章

  • php 对接Unity海外广告平台收益接口Reporting API
    今天对接的是Unity广告reportingapi接口,拉取广告收益回来自己做统计。记录分享给大家首先是文档地址,进入到Unity后台就能看到文档地址以及参数:文档地址:https://docs.unity.com/ads/en-us/manual/MonetizationStatsAPI在这里插入图片描述接入这些第三方广告平台,流程基......
  • PHP无法连接MySQL8.0数据库问题处理 报错如下: SQLSTATE[HY000]
    PHP无法连接MySQL8.0数据库问题处理报错如下:SQLSTATE[HY000][2054]Theserverrequestedauthenticationmethodunknowntotheclient发生这种错误,是由于MySQL8默认使用了新的密码验证插件:caching_sha2_password,而之前的PHP版本中所带的mysqlnd无法支持这种验证。解决这个问......
  • springboot/java/php/node/python情侣空间微信小程序【计算机毕设】
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在当今社会,随着科技的迅猛发展和智能移动设备的普及,人们的社交方式正在经历着翻天覆地的变化。特别是年轻情侣之间,他们更倾向于通过数字化平台来表达情感......
  • springboot/java/php/node/python企业内部订餐小程序【计算机毕设】
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着互联网科技的飞速发展,企业运营模式正逐步向数字化、智能化方向转型。在这一背景下,企业内部服务流程的优化变得尤为重要。订餐作为企业日常工作中不可......
  • 什么是PHP中的会话管理?
    PHP中的会话管理是一种让网站能够“记住”用户信息的方法,就像是我们在学校里,老师能够记住每个学生的名字和表现一样。在网站上,当用户访问一个页面后,网站需要能够识别出这个用户是谁,以便提供个性化的服务,比如显示用户的名字、保存用户的购物车信息等等。会话管理就是用来解决这......
  • 如何处理PHP中的表单数据?
    处理PHP中的表单数据其实就像是一个老师收集学生的作业一样。当学生在作业本上写完作业并交给老师后,老师需要查看、批改这些作业。在网站上,表单就像是学生的作业本,用户填写表单并提交后,网站就需要处理这些数据。下面我会用简单的步骤来解释PHP如何处理表单数据:1.创建表单首......
  • C# 封装(详细)
    把一个或多个项目封闭在一个物理的或者逻辑的包中。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象。封装根据具体的需要,设置使用者的访问权限,并通过 访问......
  • linux 执行 PHP脚本
    phpapiroot.phpc=crontaba=indexphpD:\www\ddhd\www\apiroot.phpc=crontaba=index上面是运行脚本的命令,适合MVC框架,在入口文件处需要对控制器c和方法a进行特殊处理才能接收到参数 $c=$_GET['c']?:'index';$a=$_GET['a']?:'index';//start......
  • python自动化——自动化框架常用封装代码复习
    日志模块:importloggingimportosdefcreat_log(name="mylog",level="DEBUG",filename="log.log",sh_level="DEBUG",fh_level="DEBUG"):log=logging.getLogger(name)log.setLevel(level)fh=lo......
  • jquery ajax对promise封装
    封装://封装ajax请求成promise,方便循环请求数据asyncfunctioncrateAjax(url,param){returnnewPromise((resolve,reject)=>{$.ajax({url:url,type:"post",data:JSON.stringify(param),dataType:&......