dtmind/dtpdo

DTPDO 类

1.0.0 2017-08-07 07:50 UTC

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)

网站

http://www.dtmind.com