Home  >  Article  >  Backend Development  >  Interpret the relevant content of php's PDO connection to the database

Interpret the relevant content of php's PDO connection to the database

jacklove
jackloveOriginal
2018-06-08 14:41:352352browse

PHP's PDO connection database is very important in data operations. This article will explain its related content in detail.

PHP’s PDO connection database is an object-oriented database data object

The reason why I choose PDO to connect the database is because PDO is suitable for any database

And mysqli, only Suitable for mysql, there is no one that is good or bad, just use whichever one is easy to use.

First of all, of course we have to connect to the database. Then PDO has a specific statement to connect to the database:

$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");

Then use them:

$link = new PDO("mysql:host=".DB_HOST.";dbname=".DB_DBNAME."", DB_USER, DB_PWD);

Usually, we have to connect to the database again when adding, deleting, modifying, and querying, so we usually return $link; to return the result, call 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;
}


every time you use it. In this way, the connect() method is completed.

After that we want to insert data, let’s read on

First think about, what is needed to insert data?

insert into {$table}($key) values ​​{$values};

This is a sql statement, and it is also the sql statement I will use.

I use variables to represent what our sql statement needs, $table, $key, $values

$table seems to be easier for us to find, just get a variable, but What about $key and $values? Can they be obtained at the same time?

At this time we can use $array:

array_key() and array_values() these two functions can obtain $key and $values ​​at the same time

Then this It’s simple, we only need two variables $table and $array

So, we should add two variables to our insert($table,$array) method

Then we have to consider the splicing of data, so I won’t go into details one by one, because you can understand it at a glance

Go directly to the code:

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();
    }   
}

Okay, there are a lot of code words Feeling, so I will do this today, and then there will be update(), delete() and other methods to share with you

Although these are old things, I think I should write them down in a solid way. Come out

This article explains the relevant content of php's PDO connection to the database. For more related content, please pay attention to the php Chinese website.

Related recommendations:

How to use code to recursively obtain the value of a specified key in an array through PHP

Through PHP Realize reading a file size of 1G

Explain the PHP class initialization function code

The above is the detailed content of Interpret the relevant content of php's PDO connection to the database. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn