多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
query 普通查询,不预编译SQL ~~~ $sql = 'DELETE FROM ' . $db->quoteKey('user') . ' WHERE ' . $db->quoteKey('age') . ' <18 AND ' . $db->quoteKey('sex') . ' = ' . $db->quoteValue('女'); $db = Be::getDb(); $db->query($sql); ~~~ execut 预编译SQL,占位符查询 ~~~ $sql = 'UPDATE ' . $db->quoteKey('user') . ' SET ' . $db->quoteKey('is_deleted') . ' = 1 WHERE ' . $db->quoteKey('age') . ' < ? AND ' . $db->quoteKey('sex') . ' = ?'; $db = Be::getDb(); $db->execute($sql, [18, '女']); ~~~ 执行不成功时获取错误信息 ~~~ try { $sql = 'UPDATE ' . $db->quoteKey('user') . ' SET ' . $db->quoteKey('is_deleted') . ' = 1 WHERE ' . $db->quoteKey('age') . ' < ? AND ' . $db->quoteKey('sex') . ' = ?'; $db = Be::getDb(); $db->execute($sql, [18, '女']); } catch (\Exception $e) { echo $e->getMessage(); exit; } ~~~ 批量执行时可通过预编译 prepare 优化执行效率 ~~~ $db = Be::getDb(); $db->startTransaction(); try { $sql = 'UPDATE ' . $db->quoteKey('user') . ' SET ' . $db->quoteKey('age') . ' = ? WHERE ' . $db->quoteKey('username') . ' = ?'; $db->prepare($sql); $data = [ [40, '大哥'], [35, '二哥'], [30, '三哥'], [25, '四哥'], ]; foreach($data as $x) { $db->execute(null, $x); } $db->commit(); } catch (\Exception $e) { $db->rollback(); echo $e->getMessage(); exit; } ~~~