dtmind / dtpdo
DTPDO 类
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-20 20:11:19 UTC
README
扩展php PDO函数,允许您使用数组创建CRUD查询。
让我们通过示例来解释这些功能。
为了进行示例,我们需要一个表...
CREATE TABLE IF NOT EXISTS `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(25) NOT NULL,
`surname` varchar(25) NOT NULL,
`age` int(11) NOT NULL,
`city` varchar(25) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
INSERT INTO `user` (`id`, `name`, `surname`, `age`, `city`) VALUES
(1, 'John', 'Smith', 32, 'Boston'),
(2, 'James', 'Brown', 39, 'New York'),
(3, 'Robert', 'Wilson', 52, 'Washington');
...以及一个在php文件中的类实例。
<?php
include("DTPDO/DTPDO.class.php");
$dbh = new DTPDO("mysql:host={$hostname};dbname={$dbname}", $username, $password);
$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
[..]
?>
insertRecord
insertRecord($table, $param)
:通过给定的值数组在表中插入一条记录
- param string $table:表名
- param array $param:关联数组 ("field1" => "value 1", ..., "fieldn" => "value n")
example #1
<?php
$values= array(
"id" => 0,
"name" => "Charles",
"surname" => "Miller",
"age" => "72",
"city" => "Dallas"
);
$dbh->insertRecord("user",$values);
?>
updateRecord
updateRecord($table, $param, $key)
:通过给定的数组更新表中的记录
- param string $table:表名
- param array $param:关联数组 ("field1" => "value 1", ..., "fieldn" => "value n")
- param string/array $key
example #2
<?php
$values= array(
"id" => 4,
"age" => "62",
"city" => "Los Angeles"
);
$dbh->updateRecord("user",$values,"id");
?>
getValue
getValue($query, $fetchMode = PDO::FETCH_NUM)
:从给定的查询中获取一个值
- param string $query
- param string $fetchMode = PDO::FETCH_NUM
- return string:第一行的第一个字段的值
example #3
Code
<?php
getValue("SELECT surname FROM user WHERE id=2");
?>
函数结果
Brown
getValues
getValues($query, $fetchMode = PDO::FETCH_NUM)
:从给定的查询中获取一个值数组
- param type $query
- param string $fetchMode = PDO::FETCH_NUM
- return array:第一行的值向量
example #4
Code
<?php
getValues("SELECT * FROM user WHERE id=2",PDO::FETCH_ASSOC);
?>
函数结果(数组)
Array(
id => 2
name => James
surname => Brown
age => 39
city => New York
);
getListValue
getListValue($query, $index = 1)
:获取一个值数组,索引是查询的第一个字段,值是查询的第二个字段
- param string $query
- param $index = 1,"1" 数组键是查询的第一个值,"0" 数组键是递增值
- return array
example #5
Code:索引是id值
<?php
getListValue("SELECT * FROM user WHERE id>=2");
?>
函数结果(数组)
Array(
2 => James
3 => Robert
);
example #6
Code:索引是递增值
<?php
getListValue("SELECT * FROM user WHERE id>=2", 0);
?>
函数结果(数组)
Array(
0 => James
1 => Robert
);
getListValues
getListValues($query, $fetchMode = PDO::FETCH_NUM, $index = 0)
:获取一个数组数组,索引是查询的第一个字段,数组包含查询的所有字段
- param string $query
- param $fetchMode = PDO::FETCH_NUM
- param $index = 1,"1" 数组键是查询的第一个值,"0" 数组键是递增值
- return array
example #7
Code:数组作为递增索引
<?php
getListValues("SELECT * FROM user")
?>
函数结果(数组)
Array(
0=> Array(
0 => 1
1 => John
2 => Smith
3 => 32
4 => Boston
);
1=> Array(
0 => 2
1 => James
2 => Brown
3 => 39
4 => New York
);
2=> Array(
0 => 3
1 => Robert
2 => Wilson
3 => 52
4 => Washington
);
);
example #8
Code:数组的第一个值是键
<?php
getListValues("SELECT * FROM user",PDO::FETCH_ASSOC,1)
?>
函数结果(数组)
Array(
1=> Array(
id => 1
name => John
surname => Smith
age => 32
city => Boston
);
2=> Array(
id => 2
name => James
surname => Brown
age => 39
city => New York
);
3=> Array(
id => 3
name => Robert
surname => Wilson
age => 52
city => Washington
);
);
prepareInsertQuery
prepareInsertQuery($table, $param)
:通过给定的数组准备一个插入查询
- param string $table:表名
- param array $param:关联数组 ("field1" => "value 1", ..., "fieldn" => "value n")
- return array(query,values)
prepareUpdateQuery
prepareUpdateQuery($table, $param, $key)
:通过给定的数组准备一个更新查询
- param string $table:表名
- param array $param:关联数组 ("field1" => "value 1", ..., "fieldn" => "value n")
- param string/array $key:表键
- return array(query,values)
常见问题解答
许可证
MIT 许可证 (MIT)