php的PDO连接数据库(一)
2017-09-13 22:58
344 查看
php的PDO连接数据库是一个面向对象的数据库的数据对象
之所以我选择PDO连接数据库是因为PDO适合任意的数据库
而mysqli,只适合于mysql,没有哪个好,哪个不好,哪个用得顺手就用哪个。
首先,我们当然要连接数据库了。那么PDO的连接数据库有一条特定的语句就是:
$link= new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
通常$servername,myDB,$username,$password都是变量,为了安全,我们可以在conf.php文件下define(定义)他们
之所以我选择PDO连接数据库是因为PDO适合任意的数据库
而mysqli,只适合于mysql,没有哪个好,哪个不好,哪个用得顺手就用哪个。
首先,我们当然要连接数据库了。那么PDO的连接数据库有一条特定的语句就是:
$link= new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
通常$servername,myDB,$username,$password都是变量,为了安全,我们可以在conf.php文件下define(定义)他们
define("DB_HOST", "localhost"); define("DB_USER", "root"); define("DB_PWD", "123456"); define("DB_DBNAME", "blog"); define("DB_CHARSET","utf8"); 然后使用他们: $link = new PDO("mysql:host=".DB_HOST.";dbname=".DB_DBNAME."", DB_USER, DB_PWD); 通常,我们在增删改查都要再次连接数据库,所以我们通常都return $link;来返回结果,每次使用就调用connect()function connect(){ try { $link = new PDO("mysql:host=".DB_HOST.";dbname=".DB_DBNAME."", DB_USER, DB_PWD); //设置PDO错误模式,用于抛出异常 $link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { echo "数据库连接失败".$e->getMessage(); } return $link; }
这样,connect()方法就完成了。
之后我们就想insert(插入)数据了吧,接着往下看
首先思考,插入数据需要什么东西?
insert into {$table}($key) values {$values};
这是一条sql语句,也是我将会使用到的sql语句。
我使用变量代表着那是我们sql语句需要的东西,$table,$key,$values
$table好像我们比较容易找,弄个变量就好了,但是$key和$values呢?能不能同时获取到呢?
这时候我们就可以使用$array了:
array_key()和array_values()这两个函数就可以同时获取$key和$values
那么这就简单了,我们变成我们只需要两个变量$table和$array
所以,我们的insert($table,$array)方法中应该加入两个变量了
然后之后就要考虑数据的拼接问题,那么我就不一一细说了,因为一看就懂
直接上代码:function insert($table,$array){ try { $conn = connect(); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $key = join(",", array_keys($array)); $values = "'".join("','", array_values($array))."'"; $sql = "insert into {$table}($key) values {$values}"; $result = $conn->exec($sql); return $conn->lastInsertId(); } catch (PDOException $e) { echo "插入失败".$e->getMessage(); } }
好啦,码字有点多了感觉,所以今天就先这样,之后还有update(),delete()等方法和你们分享
虽然这些是老东西了,但是我想扎实的往上就应该写写出来
欢迎大家指正
可以多多交流
谢谢
相关文章推荐
- PHP使用PDO连接数据库could not find driver解决方法
- php中数据库连接方式pdo和mysqli对比分析
- PHP学习 PDO连接数据库和设备常量的操作
- php的PDO连接数据库(二)
- php pdo 简单连接数据库、查询
- php pdo连接数据库
- PHP中PDO连接数据库中各种DNS设置方法小结
- PHP连接数据库的另外一种方法---PDO
- PHP PDO 数据库的连接与使用
- PHP之PDO连接数据库实例
- PHP PDO类解决数据库连接问题
- php数据库连接三种方法:PDO连接的两种方法与php一般连接的方法,以及防止乱码
- php使用pdo数据库连接失败
- php+mysql+pdo连接数据库
- php使用PDO连接操作数据库
- PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
- php学习笔记之PDO连接数据库及一些操作
- php PDO面向对象的方式连接数据库
- php pdo 连接db2 数据库
- php数据库连接三种方法:PDO连接的两种方法与php一般连接的方法,以及防止乱码