欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

记录一下使用PHP组装成一个插入的SQL语句

程序员文章站 2022-06-12 19:45:32
...

分享一下自己的组装SQL语句的方法

    /**
     * 组成插入SQL语句
     * @param string $table
     * @param array $data
     * @return bool|string
     */
    function insertIntoSql($table = '', $data = array()) {
        if (empty($data) || !is_array($data) || empty($table)) {
            return false;
        }
        $sql = 'INSERT INTO ' . $table . '(';
        $sql_val = 'values ';
        foreach ($data as $key => $value) {
            if ($key == 0) {
                $s_key = '';
                foreach ($value as $s_k => $s_v) {
                    $s_key .= $s_k . ',';
                }
                $sql .= rtrim($s_key, ',') . ')';
            }
            $s_val = '(';
            foreach ($value as $val) {
                $s_val .= "'" . $val . "',";
            }
            $sql_val .= rtrim($s_val, ',') . '),';
        }
        $sql_val = rtrim($sql_val, ',');
        $inster_sql = $sql . $sql_val;
        return $inster_sql;
    }

//使用举例
$goods_data[] = [
    //以下的key表示数据表的字段名
    'id' => $i,
    'category_id' => $category_id,// 分类ID
    'goods_name' => $v['name'],// name  商品名称
    'price' => $v['min_price'],// min_price  价格
    'sale_num' => str_replace('月售', '', $v['month_saled_content']),// month_saled_content  销量
    'spec' => $v['skus'][0]['spec'],// sku_label  规格
    'img' => $v['picture'],// picture  图片
    'addtime' => $time,// picture  图片
];
insertIntoSql('ims_goods_shuxin', $goods_data);