mysql pdo连接_如何正确设置PDO连接

如何正确设置PDO连接

我不时会看到关于连接数据库的问题。

大多数答案不是我做的那样,或者我可能得不到正确的答案。无论如何,我从来没有想过这件事,因为我这样做是为了我自己。

但是这里有一个疯狂的想法;也许我做错了,如果是这样的话;我真的很想知道如何使用PHP和PDO正确地连接到MySQL数据库,并使它更容易访问。

我就是这样做的:

首先,这是我的文件结构(脱去):public_html/* index.php

* initialize/

-- load.initialize.php

-- configure.php

-- sessions.php

index.php

在最上面,我require('initialize/load.initialize.php');.

load.initialize.php#   site configurations

require('configure.php');#   connect to database

require('root/somewhere/connect.php');  //  this file is placed outside of public_html for better security.#   include classes

foreach (glob('assets/classes/*.class.php') as $class_filename){

include($class_filename);

}#   include functions

foreach (glob('assets/functions/*.func.php') as $func_filename){

include($func_filename);

}#   handle sessions

require('sessions.php');

我知道有一种更好或者更正确的方法来包含类,但是我不记得它是什么。还没来得及调查,但我觉得autoload..差不多吧.。

figre.php

在这里,我基本上只是覆盖了一些php.ini-属性并为站点执行其他全局配置

connect.php

我已经将连接放到一个类上,以便其他类可以延展这个.。class connect_pdo{

protected $dbh;

public function __construct()

{

try {

$db_host = '  ';  //  hostname

$db_name = '  ';  //  databasename

$db_user = '  ';  //  username

$user_pw = '  ';  //  password

$con = new PDO('mysql:host='.$db_host.'; dbname='.$db_name, $db_user, $user_pw);

$con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

$con->exec("SET CHARACTER SET utf8");  //  return all sql requests as UTF-8

}

catch (PDOException $err) {

echo "harmless error message if the connection fails";

$err->getMessage() . "
";

file_put_contents('PDOErrors.txt',$err, FILE_APPEND);  // write some details to an error-log outside public_html

die();  //  terminate connection

}

}

在这里,我相信有巨大的改进空间,因为我最近开始学习OOP,并使用PDO而不是MySQL。

所以我刚刚学习了几个初学者的教程,并尝试了不同的东西.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值