PHP code example of puweiyuer / sworm
1. Go to this page and download the library: Download puweiyuer/sworm library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
puweiyuer / sworm example snippets php
$mySworm = new Sworm();
php
$server = array(
'host' => '192.168.56.102',
'port' => 3306,
'user' => 'test',
'password' => 'test',
'database' => 'test',
'charset' => 'utf8', //指定字符集
'timeout' => 2, // 可选:连接超时时间(非查询超时时间),默认为SW_MYSQL_CONNECT_TIMEOUT(1.0)
'prefix' => 'sw_', //可选:表前缀
'debug' => true //调试模式,开启会在执行查询时输出查询语句
);
$mySworm->connect($server, function($ret){
if($ret->status){
printf("连接成功\n");
}else{
var_dump($ret->errorCode, $ret->errorMsg);
}
});
php
$mySworm->disconnect();
php
$mySworm->query("SELECT * FROM sw_user WHERE id = '1'", function($ret){
if($ret->status){
var_dump($ret->result);
}else{
var_dump($ret->errorCode, $ret->errorMsg);
}
});
php
$user = $mySworm->user;
php
$user = $mySworm->table('user');
php
$user->select("username, password, gender")
//或者
$user->select(['username', 'password', 'gender'])
php
//直接填写完整WHERE语句(需手动进行过滤,不推荐)
$user->where("id = '2' AND username = 'yeahyeah'")
//使用预处理占位符
$user->where("id = ? AND username = ?", 2, 'yeahyeah')
//使用数组
$user->where(array(
'id'=>2,
'username'=>'yeahyeah'
))
/*数组的更多高级用法*/
//WHERE id IN ('1','2','3')
$user->where(array(
'id'=>new Sworm_In([1,2,3])
))
//WHERE username LIKE '%张%'
$user->where(array(
'id'=>new Sworm_Like('%张%')
))
php
//ORDER BY age
$user->order('age')
//ORDER BY age DESC
$user->order('age DESC')
php
// LIMIT 10
$user->limit(10)
php
// LIMIT 2,10
$user->limit(10, 2)//从位置为2的记录开始取出10条记录
php
// GROUP BY note
$user->group('note')
php
// GROUP BY note HAVING age > 10
$user->group('note', 'age > 10')
php
$user->select('username, password')
->where('id = ?', 1)
->fetch(function($ret){
if($ret->status){
var_dump($ret->result);//成功返回结果数组
}else{
var_dump($ret->errorCode, $ret->errorMsg);//失败返回错误码和错误信息
}
});
php
$user->where('age >= ?', 18)
->count(function($ret){
if($ret->status){
var_dump($ret->result);//成功返回个数(int)
}else{
var_dump($ret->errorCode, $ret->errorMsg);//失败返回错误码和错误信息
}
});
php
$user->where('age < ?', 18)
->sum('money',function($ret){
if($ret->status){
var_dump($ret->result);//成功返回总和(number)
}else{
var_dump($ret->errorCode, $ret->errorMsg);//失败返回错误码和错误信息
}
});
php
$user->where('age < ?', 18)
->max('money',function($ret){
if($ret->status){
var_dump($ret->result);//成功返回最大值(number)
}else{
var_dump($ret->errorCode, $ret->errorMsg);//失败返回错误码和错误信息
}
});
php
$user->where('age < ?', 18)
->min('money',function($ret){
if($ret->status){
var_dump($ret->result);//成功返回最小值(number)
}else{
var_dump($ret->errorCode, $ret->errorMsg);//失败返回错误码和错误信息
}
});
php
$user->insert(array(
'username'=>'yeahyeah',
'password'=>'uNsJ2k8mQz'
),function($ret){
if($ret->status){
var_dump($ret->result);//成功返回影响的记录数
printf("插入成功\n");
}else{
var_dump($ret->errorCode, $ret->errorMsg);//失败返回错误码和错误信息
}
});
php
$user->where('id = ?', 1)
->update(array(
'age'=>19,
'password'=>'lmaolmao'
),function($ret){
if($ret->status){
var_dump($ret->result);//成功返回影响的记录数
printf("更新成功\n");
}else{
var_dump($ret->errorCode, $ret->errorMsg);//失败返回错误码和错误信息
}
});
php
$user->where('id = ?', 1)
->delete(function($ret){
if($ret->status){
var_dump($ret->result);//成功返回影响的记录数
printf("删除成功\n");
}else{
var_dump($ret->errorCode, $ret->errorMsg);//失败返回错误码和错误信息
}
});
php
/* status
* 表示请求是否成功,布尔值,真为成功,假为失败
*/
$ret->status
//或者
$ret->getStatus()
/* result
* 表示请求结果,类型根据具体请求而定
*/
$ret->result
//或者
$ret->getResult()
/* errorCode
* 表示失败错误码
*/
$ret->errorCode
//或者
$ret->getErrorCode()
/* errorMsg
* 表示失败错误信息
*/
$ret->errorMsg
//或者
$ret->getErrorMsg()
/* sworm
* 当前Sworm对象,方便回调函数闭包内使用
*/
$ret->sworm
php
$mySworm->begin(function($ret){
$data = [...];
$ret->sworm->user->update($data, function($ret){
if($ret->status){
//更新成功则提交事务
$ret->sworm->commit(function($ret){
echo "事务提交完成\n";
});
}else{
//失败则回滚事务
$ret->sworm->rollback(function($ret){
echo "事务回滚完成\n";
});
}
})
})