steinhaug / sqlbuddy
我的个人SQL朋友
Requires
- php: ^8.0
- ext-mbstring: *
README
确保SQL插入和更新不会导致崩溃的辅助类。
版本
v1.3.4 - 更新于2024年8月22日 - 废弃通知,确保不要将NULL传递给mb_detect_encoding()
v1.3.3 - 更新于2024年8月16日 - 错误修复,针对使用string:(int)n时的null值伪逻辑修复
v1.3.2 - 更新于2024年4月30日 - 将属性safehtml设置为public。v1.3.1 - 更新于2023年12月6日 + 添加unshift()
v1.3.0 - 更新于2023年11月28日
* 已更新并兼容PHP 8.1
+ 添加了时间
v1.2.0 - 更新于2021年12月21日
* 已更新并兼容PHP 8.0
v1.1.1 - 更新于2021年8月20日
* 重写了解析逻辑,现在所有解析都将假定:col, val, type, has_null
+ 常规值如NULL和NOW()将自动设置为无需引号,自动设置。
v1.0.2 - 更新于2021年5月2日
* 更好地处理NULL。
v1.0.1 - 更新于2020年5月27日
+ 可以通过添加后缀:n强制将任何类型裁剪到给定长度。例如:string:128将裁剪为最多128个字符。
v1.0.0 - 更新于2020年5月14日
用法
语法
$sql->que($k, $v, ?$t, ?$n);
$k = 数据库列,
$v = 值,
$t = 可选 - 变量类型,int string float等。
$n = 可选 - (bool) has_null. 如果为true,则在适当的情况下评估$v为NULL
特殊
当使用第三个参数为true时,只有三个参数
$sql->que($k, $v, true);
将评估为
$sql->que($k, $v, 'string', true);
使用基本功能的示例用法
$sql = new sqlbuddy;
$sql->que('first','Kim Stalsberg');
$sql->que('last','Steinhaug');
$sql->que('age','44','int');
echo $sql->build('update','users','id=1');
echo $sql->build('insert','users');
输出
UPDATE `users` SET `first`='Kim', `last`='Steinhaug', `age`=44 WHERE id=1;
INSERT INTO `demo` (`first`, `last`, `age`) VALUES ('Kim', 'Steinhaug', 44)
SYNTAX
->que()
$sql->que( string
$columnName, string
$value, string
$valueType, boolean
$nullable )
columnName
要插入/更新的列名
value
要插入的值
valueType
可选,默认为string。
可能的值有 str, string, text, email, float, ornull, strornull, int, tinyint, intornull, dec, decimal, date, dateornull, datetime, datetimeornull, raw, boolean, column, col.
nullable
对于值被认为是NULL的布尔语句,在这种情况下,插入或更新将插入真实的mysql NULL。
安装
> composer require steinhaug/sqlbuddy
或下载最新版本并包含sqlbuddy.php。
作者
许可证
此库根据MIT许可证发布。
慷慨一点?
请我喝一杯啤酒,捐赠。