/**
* 更改狀態
* 修改某表某字段根據某條件
* @param string $table
* @param array $status array( 'name'=>'snuser', ''=>'',.....);
* @param array $where array( "name = 'test' ", 'age=22',....);where條件
* @return bool
*/
function changeStatus( $table, Array $status, Array $where ){
if( ! $table ){
throw new Exception( __CLASS__ . 'has no param - table');
}
foreach ( $status as $k=>$v ){
$setStr .= "`{$k}` = {$v},";
}
//加工刪除(,)
$setStr = substr($setStr, 0, ( strlen($setStr) - 1 ) );
$condition = ' WHERE 1=1 ';
foreach ( $where as $v ) {
$condition .= ' AND ' . $v ;
}
$sql = "UPDATE {$table} SET " . $setStr . $condition;
$dbh = BaseModel::dbh();
$stm = $dbh->prepare( $sql );
$stm->execute();
//sql检测
if( $stm->errorCode() != 00000 ){
throw new PDOException( __CLASS__ . ' sql error: ' . $sql );
}
return true;
}
ex:
return $dispose->changeStatus( 'xxxx', array( 'column '=>1 ), array( 'id=1' ) );
得到某个表内的数据
/**
* getList
* 得到列表
* $limit = 'limit 1, 10 ';
* $assoc = true 返回單條索引
*/
function getTableList( $table, Array $column, Array $where, $is_count=false, $limit = '', $assoc = false) {
if( ! $table ){
throw new Exception( __CLASS__ . 'has no param - table');
}
foreach ( $column as $v ){
$selectStr .= "{$v},";
}
//加工刪除(,)
$selectStr = substr($selectStr, 0, ( strlen($selectStr) - 1 ) );
$sql = sprintf( "SELECT %s FROM %s", $selectStr, $table );
$condition = ' WHERE 1=1 ';
foreach ( $where as $v ) {
$condition .= ' AND ' . $v ;
}
$sql .= $condition . $limit;
$dbh = BaseModel::dbh();
$stm = $dbh->prepare( $sql );
$stm->execute();
if( $stm->errorCode() != 00000 ){
throw new PDOException( __CLASS__ . ' sql error: ' . $sql );
}
$count = $stm->rowCount();
if ( true == $is_count ) {
return $count;
}
if( $count == 1 && $assoc == true ) {
return $stm->fetch( PDO::FETCH_ASSOC );
}
return $stm->fetchAll( PDO::FETCH_ASSOC );
}
ex:得到总数
$count = $dispose->getTableList( 'xx', array('*'), array( 'id='.$id ), true );
ex: 得到集合
$limit = sprintf(" LIMIT %d, %d", 1, 10 ); $dispose->getTableList( 'xx', array('*'), array( 'id='.$id ), false, $limit );
分享到:
相关推荐
YSF4_HAL_CANopen-002. PDO - 数据改变触发.rar
EtherCAT增加PDO读写寄存器
数据库连接PDO的连接方法,可以给大家分享一下,没事了可以看看。
PDO4You是一个类,它实现了单例设计模式用于连接数据库使用PDO扩展(PHP数据对象... ly / CUBRID类还可以立即执行多个查询给定一个字符串以JSON格式,指定了类型的查询、表、字段,字段值,条件等。 标签:PDO4You
php5推出的pdo统一数据接口,为了方便数据的分页写的pdo分页类。
单条查询不需要启用事务处理,并且不需要使用PDO的预处理方式,但注意要使用$pdo->quote()方法来自动将字符型变量值的字符中首尾加上单引号,以防止SQL注入,并且免去特殊符号转义的过程。 $db_type='mysql'; //...
pdo链接数据库封装类库,用于数据库操作,执行数据库curd操作
本文实例讲述了PHP使用PDO创建MySQL数据库、表及插入多条数据操作。分享给大家供大家参考,具体如下: 创建 MySQL 数据库: <?php $servername = localhost; $username = username; $password = password; try {...
这就意味当从一个数据库系统向另一个数据库系统迁移时,几乎不用更改太多的程序代码,屏蔽不同数据库之间的差异 PDO:PHP Date Object 能使用PDO扩展本身执行任何数据库操作,必须使用一个database-specific PDO ...
我自己写的CoDeSys3.5的PDO通信的Demo 下载就可以用 可是本人呕心沥血完成之作,现奉献大家。在此基础上只需稍作修改就可以直接使用
通过pdo对数据进行插入数据、更新数据、查看数据、删除数据的简单操作
结合实例形式分析了PDO类库常见的连接,初始化及增删改查等操作技巧,获取表格的最后主键,检查数据是否已经存在(依赖条件),预处理删除(注:针对主键为 INT 类型,推荐使用),返回单个字段数据或单条记录。
PHP PDO函数简介
结合实例形式分析了PDO类库常见的连接,初始化及增删改查等操作技巧,获取表格的最后主键,检查数据是否已经存在(依赖条件),预处理删除(注:针对主键为 INT 类型,推荐使用),返回单个字段数据或单条记录。
PDO封装函数类,自己封装自用工具,赶紧下载吧PDO封装函数类PDO封装函数类PDO封装函数类PDO封装函数类
作为EtherCAT协议栈的补充,实现PDO动态映射,是一个完整的EtherCAT从站必要的组成部分。
PDO->lastInsertId() — 获取写入的最后一条数据的主键值 PDO->prepare() — 生成一个“查询对象” PDO->query() — 处理一条SQL语句,并返回一个“PDOStatement” PDO->quote() — 为某个SQL中的字符串添加引号 PDO...
查询操作主要是PDO::query()、PDO::exec()、PDO::prepare()。PDO::query()主要是用于有记录结果返回的操作,特别是SELECT操作,PDO::exec()主要是针对没有结果集合返回的操作,比如INSERT、UPDATE、...