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
    评论
PHP连接MySQL数据库的三种方式分别是PDOMySQLi和mysqlPDO(PHP Data Objects)是PHP提供的一种数据库操作扩展,支持多种数据库,其中包括MySQLPDO提供了一组统一的方法,使开发者能够以同样的方式对待不同的数据库。其优点包括安全性高、可移植性好、支持事务处理等。使用PDO连接MySQL数据库时,需要使用PDO的构造函数new PDO(),并传入相关的连接信息。 MySQLi(MySQL Improved)是PHP中的一种连接MySQL数据库的扩展,是对原有mysql扩展的增强和改进。MySQLi提供了面向对象和面向过程两种API,支持事务处理、预处理语句、存储过程等功能,同时也提供了对MySQL的新特性的支持。使用MySQLi连接MySQL数据库时,首先需要创建一个MySQLi对象,然后调用相应的方法进行连接、查询等操作。 mysql扩展是PHP早期版本提供的一种连接MySQL数据库的方式,但自PHP5.5.0版本开始已被弃用,不再被推荐使用。mysql扩展的连接方式相对简单,使用mysql_connect()函数进行连接,并传入相关的连接参数。然而,mysql扩展存在一些安全性和兼容性的问题,容易受到SQL注入等攻击。 综上所述,PDOMySQLi和mysql是PHP常用的三种连接MySQL数据库的方式。其中PDO具有较高的安全性和可移植性,使用方式统一;MySQLi支持较多的功能特性,包括事务处理、预处理语句等;mysql扩展已被弃用,不推荐使用。开发者可以根据自己的需求和情况选择合适的连接方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值