Rumah  >  Artikel  >  pembangunan bahagian belakang  >  解读php的PDO连接数据库的相关内容

解读php的PDO连接数据库的相关内容

jacklove
jackloveasal
2018-06-08 14:41:352496semak imbas

php的PDO连接数据库在数据操作中很重要,本篇文章将详解其相关内容。

php的PDO连接数据库是一个面向对象的数据库的数据对象

之所以我选择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连接数据库的相关内容,更多相关内容请关注php中文网。

相关推荐:

如何通过php用代码实现递归获取一个数组中指定key的值

通过PHP实现读取一个1G的文件大小

讲解PHP类初始化功能代码

Atas ialah kandungan terperinci 解读php的PDO连接数据库的相关内容. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn