php中文网第六期,0619作业2019年06月20日12:04:17

实例

namespace Test;

use PDO;

if (!interface_exists(__NAMESPACE__.'\iDbParam')) //判断命名空间是否存在不存在返回true 不存在才需要声明所以加!取反

{

interface iDbParam

{

const TYPE = 'mysql';

const HOST = 'localhost';

const USER_NAME = 'root';

const PASSWORD = 'root';

const DBNAME = 'php';

public static function connection();

}

}

//基本类继承接口用到命名空间继承

class Connection implements namespace\iDbParam

{

//    初始化连接参数 值时引用的命名空间接口内的属性

private static $type = iDbParam::TYPE;

private static $host = iDbParam::HOST;

private static $userName = iDbParam::USER_NAME;

private static $password = iDbParam::PASSWORD;

private static $dbName = iDbParam::DBNAME;

private static $pdo = null;

//    连接数据库

public static function Connection()

{

// TODO: Implement connection() method.

$dsn = self::TYPE.':host='.self::HOST.';dbname='.self::DBNAME;

$user = self::USER_NAME;

$password = self::PASSWORD;

$pd = new PDO($dsn,$user,$password);

self::$pdo = $pd;

return $pd;//这里返回时方便外部自己写操作代码

}

//    查询代码

public static function select($table,$field='',$where='',$limit=0,$offset=0)

{

$field = empty($field) ? '*' : $field;

$where = empty($where) ? '' : ' WHERE ' .$where;

$limit = empty($limit) ? '' : ' LIMIT ' .$limit;

$offset = empty($offset) ? '' : ' OFFSET '.$offset;

$sql = 'select '.$field.' from '.$table.$where.$limit.$offset;

$stmt = self::$pdo->prepare($sql);

$stmt->execute();

$stmt->debugDumpParams();die;

return $stmt->fetchall(PDO::FETCH_ASSOC);

}

}

//以后连接数据库只需要这个静态方法即可,注意命名空间

$link = Connection::Connection();

//执行一个查询

//$stmt = $link->prepare('select * from movies limit 5');

//$stmt->execute();

$stmt->debugDumpParams();die;

//echo '

'.print_r($stmt->fetchAll(PDO::FETCH_ASSOC),true);

//调用select()

echo '

'.print_r(Connection::select('movies','name,image','name=\'情书\'',5),true);

运行实例 »

点击 "运行实例" 按钮查看在线实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值