/** * 构造插入语句 * 根据键值,例 ['good' => 'first', 'level' => 2] */ function parseInsert(array $data): array { $key = '`'. implode('`, `', array_keys($data)) . '`'; //给字符串加上单引号 $value = array_map(function($val) { return is_numeric($val) ? $val : "'" . addslashes(RepPostStr($val)) . "'"; }, array_values($data)); return ['key' => $key, 'value' => implode(', ', $value)]; }
例子: 生成插入sql INSERT INTO phone_enewspayrecord (`userid`, `username`, `orderid`, `money`, `posttime`, `paybz`, `type`, `payip`) VALUES (2, 'xiayu', 20221647170963, 100, 1647170963, '下载', 1, '192.168.1.1')
$add = [ 'userid' => 2, 'username' => 'xiayu', 'orderid' => 2022 . time(), 'money' => 100, 'posttime' => time(), 'paybz' => '下载', 'type' => 1, 'payip' => '192.168.1.1' ];
执行 parseInsert($add);
结果 Array ( [key] => `userid`, `username`, `orderid`, `money`, `posttime`, `paybz`, `type`, `payip` [value] => 2, 'xiayu', 20221647171085, 100, 1647171085, '下载', 1, '192.168.1.1' )
|