开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
开源项目 > 数据库相关 > 数据库开发包 &&
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
16 Star 34 Fork 10

vb2005xu/sql.class.php

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
sql.class.php
/
demo.php
sql.class.php
/
demo.php
demo.php 4.61 KB
一键复制 编辑 原始数据 按行查看 历史
vb2005xu 提交于 2014年12月30日 20:24 +08:00 . 终于可以运行测试脚本了
<?php
require_once __DIR__ .'/sql.class.php';
class JptestApp
{
/**
* @var SqlDataSource
*/
static $ds = null;
static function sql_monitor($sql, $dsn_id)
{
if (PHP_SAPI === 'cli')
{
fwrite(STDOUT, "[sql]: " . print_r($sql,true) . PHP_EOL);
}
else
{
echo "<BR />[sql]: " . print_r($sql,true);
}
}
}
function jptest_init()
{
error_reporting(E_ALL | E_STRICT);
date_default_timezone_set('Asia/Shanghai');
session_start();
header("Content-Type: text/html;charset=utf-8");
$dsn = array(
'type' => 'mysql',
'dbpath' => 'mysql:host=127.0.0.1;port=3306;dbname=jptest',
'login' => 'root',
'password' => '123456',
'initcmd' => array(
"SET NAMES 'utf8'",
),
'attr' => array(
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_PERSISTENT => false,
),
'monitor' => 'JptestApp::sql_monitor',
);
JptestApp::$ds = Sql::ds($dsn);
var_dump(JptestApp::$ds);
$result = null;
// $result = JptestApp::$ds->all('show tables');
//
// $result = Sql::assistant( JptestApp::$ds )->select_row('jp_citys',array('island'=>array(1,'>=')),'id,name,image');
//
// $result = Sql::assistant( JptestApp::$ds )->select('jp_citys',array('id'=>array(1,'>=')),'id,name,image');
var_dump( $result );
assertDemo();
}
function assertEqual($var1,$var2){
if ($var1 !== $var2)
throw new Exception('Not Equal .');
}
function assertDemo()
{
$ds = JptestApp::$ds;
/* @var $ds SqlDataSource */
$cond = "author_id=123 AND bookname='色色'";
$result = SqlHelper::parse_cond($ds,$cond,FALSE);
assertEqual($result,"author_id=123 AND bookname='色色'");
// ? 为数组
$cond = array(
'author_id' => 123,
'bookname' => '色色',
);
$result = SqlHelper::parse_cond($ds,$cond,FALSE);
assertEqual($result,"author_id = 123 AND bookname = '色色'");
// > < !=
$cond = array(
'author_id' => array(123, '>'),
'bookname' => '色色',
);
$result = SqlHelper::parse_cond($ds,$cond,FALSE);
assertEqual($result,"author_id > 123 AND bookname = '色色'");
$cond = array(
'author_id' => array(123, '<'),
'bookname' => '色色',
);
$result = SqlHelper::parse_cond($ds,$cond,FALSE);
assertEqual($result,"author_id < 123 AND bookname = '色色'");
$cond = array(
'author_id' => array(123, '!='),
'bookname' => '色色',
);
$result = SqlHelper::parse_cond($ds,$cond,FALSE);
assertEqual($result,"author_id != 123 AND bookname = '色色'");
// 模糊查询
$cond = array(
'bookname' => array('%色色%','LIKE'),
);
$result = SqlHelper::parse_cond($ds,$cond,FALSE);
assertEqual($result,"bookname LIKE '%色色%'");
// 'IN','NOT IN'
$cond = array(
'author_id' => array( array(123,124,125) ),
);
$result = SqlHelper::parse_cond($ds,$cond,FALSE);
assertEqual($result,"author_id IN (123,124,125)");
$cond = array(
'author_id' => array( array(123,124,125), 'IN'),
);
$result = SqlHelper::parse_cond($ds,$cond,FALSE);
assertEqual($result,"author_id IN (123,124,125)");
$cond = array(
'author_id' => array( array(123,124,125), 'NOT IN'),
);
$result = SqlHelper::parse_cond($ds,$cond,FALSE);
assertEqual($result,"author_id NOT IN (123,124,125)");
// BETWEEN AND , NOT BETWEEN AND
$cond = array(
'author_id' => array( array(10,25), 'BETWEEN_AND'),
);
$result = SqlHelper::parse_cond($ds,$cond,FALSE);
assertEqual($result,"author_id BETWEEN 10 AND 25");
$cond = array(
'author_id' => array( array(10,25), 'NOT_BETWEEN_AND'),
);
$result = SqlHelper::parse_cond($ds,$cond,FALSE);
assertEqual($result,"author_id NOT BETWEEN 10 AND 25");
// author_id > 15 OR author_id < 5 AND author_id != 32
$cond = array(
'author_id' => array(
array( array(15,'>','OR'),array(5,'<','AND'), array(32,'!=') ) ,
'FIELD_GROUP'
),
);
$result = SqlHelper::parse_cond($ds,$cond,FALSE);
assertEqual($result," (author_id > 15 OR author_id < 5 AND author_id != 32)");
// OR AND 连接符
$cond = array(
'author_id' => array(123, '!=' ,'AND'),
'bookname' => array('色色', '=' ,'OR'),
'book_price' => array(45, '<=' ,'AND'),
);
$result = SqlHelper::parse_cond($ds,$cond,FALSE);
assertEqual($result,"author_id != 123 AND bookname = '色色' OR book_price <= 45");
// 传入的条件的值中的特殊字符会自动进行 qstr 转义
$cond = array(
'bookname' => array("%色'色%",'LIKE'),
);
$result = SqlHelper::parse_cond($ds,$cond,FALSE);
assertEqual($result,"bookname LIKE '%色\'色%'");
// 数据表字段名比较
$cond = array(
'author_id' => array(123, '!=' ,'AND'),
'book_price' => array("market_parce",'>','AND',true),
);
$result = SqlHelper::parse_cond($ds,$cond,FALSE);
assertEqual($result,"author_id != 123 AND book_price > market_parce");
}
jptest_init();
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

最简单优雅的sql操作类库
暂无标签
GPL-3.0
使用 GPL-3.0 开源许可协议
取消

发行版

暂无发行版

开源评估指数源自 OSS-Compass 评估体系,评估体系围绕以下三个维度对项目展开评估:

1. 开源生态

  • 生产力:来评估开源项目输出软件制品和开源价值的能力。
  • 创新力:用于评估开源软件及其生态系统的多样化程度。
  • 稳健性:用于评估开源项目面对多变的发展环境,抵御内外干扰并自我恢复的能力。

2. 协作、人、软件

  • 协作:代表了开源开发行为中协作的程度和深度。
  • 人:观察开源项目核心人员在开源项目中的影响力,并通过第三方视角考察用户和开发者对开源项目的评价。
  • 软件:从开源项目对外输出的制品评估其价值最终落脚点。也是开源评估最"古老"的主流方向之一"开源软件" 的具体表现。

3. 评估模型

    基于"开源生态"与"协作、人、软件"的维度,找到与该目标直接或间接相关的可量化指标,对开源项目健康与生态进行量化评估,最终形成开源评估指数。

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/eemcmc/sql.class.php.git
git@gitee.com:eemcmc/sql.class.php.git
eemcmc
sql.class.php
sql.class.php
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /