首页 / PHP / 用php中的PDO连接到数据库
用php中的PDO连接到数据库
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了用php中的PDO连接到数据库,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1785字,纯文字阅读大概需要3分钟。
内容图文
![用php中的PDO连接到数据库](/upload/InfoBanner/zyjiaocheng/909/f6e0a0fd6bd64a9e8f732d21c545ed0e.jpg)
我在我的项目中为我的数据库连接编写了这个小类:
<?php
class DatabaseUtility{
private $dsn, $username, $password, $database, $pdo;
public function __construct($host = 'localhost', $username = 'root', $password = '', $database){
$this->dsn = "mysqli:dbname=$database;host:$host";
$this->username = $username;
$this->password = $password;
$this->database = $database;
}
public function connect(){
try{
$this->pdo = new PDO($this->dsn,$this->username,$this->password,null);
$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this->pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
} catch(PDOException $err){
die($err->getMessage());
}
}
public function prepareStatment($query){
$this->pdo->prepare($query);
}
}
?>
这就是我使用它的方式:
<?php
require 'DatabaseUtility.php';
$db = new DatabaseUtility('localhost','root','','apex');
$db->connect();
$statment = $db->prepareStatment("Select offer_id from offer_images where img_id = :img_id");
?>
但是我收到以下错误:
Could not find driver
我是PDO的新手,所以请指导我做错了什么?这种方法可以用于安全快速的数据库活动吗?
更新:
我现在使用这些代码行来使用我的DatabaseUtility类但出现错误:
<?php
require 'DatabaseUtility.php';
$id= 25;
$db = new DatabaseUtility('localhost','root','','apex');
$db->connect();
$statment = $db->prepareStatment("Select offer_id from offer_images where img_id = :img_id");
$statment->bindParam("img_id", $id ,PDO::PARAM_INT);
$statment->execute();
print_r($statment);
?>
错误是:
call to a member function bindParam() on a non-object in this line:
$statment->bindParam("img_id", $id ,PDO::PARAM_INT);
解决方法:
看起来你没有在prepareStatment()方法中返回任何内容.
public function prepareStatment($query){
return $this->pdo->prepare($query);
}
这就是$statment = $db-> prepareStatment(“从offer_images中选择offer_id,其中img_id =:img_id”);是假的.
内容总结
以上是互联网集市为您收集整理的用php中的PDO连接到数据库全部内容,希望文章能够帮你解决用php中的PDO连接到数据库所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。