steinhaug/sqlbuddy

我的个人SQL朋友

v1.3.4 2024-08-22 19:20 UTC

This package is auto-updated.

Last update: 2024-09-22 19:33:06 UTC


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包

> composer require steinhaug/sqlbuddy

或下载最新版本并包含sqlbuddy.php。

作者

Kim Steinhaug (@steinhaug)

许可证

此库根据MIT许可证发布。

慷慨一点?

请我喝一杯啤酒,捐赠