PHP 认识PDO数据库抽象层,phppdo数据库抽象
PHP 认识PDO数据库抽象层,phppdo数据库抽象
PDO全称是PHP Data Object(PHP数据对象),是PHP连接数据库中的一个扩展,目前得到普遍使用。PDO主要解决的问题是为不同的数据库提供一个统一的数据访问接口和操作层。为实现系统在跨数据库平台的开发及迁移等问题上提供了较好的解决方案。PDO 对象的获取
在PDO中,要建立与数据库的连接需要实例化PDO的构造函数。PDO构造函数语法如下:
PDO::__construct ( string $dsn [, string $username [, string $password [, array $driver_options ]]] )
通过PDO构造函数来连接数据库:
<span> 1</span> <?<span>php </span><span> 2</span> <span>$dbms</span> = 'mysql'<span>; </span><span> 3</span> <span>$dbName</span> = 'dormitory'<span>; </span><span> 4</span> <span>$host</span> = 'localhost'<span>; </span><span> 5</span> <span>$user</span> = 'root'<span>; </span><span> 6</span> <span>$pwd</span> = ''<span>; </span><span> 7</span> <span>$dsn</span> = "<span>$dbms</span>:host=<span>$host</span>;dbname=<span>$dbName</span>"<span>; </span><span> 8</span> <span>try</span><span> { </span><span> 9</span> <span>$pdo</span> = <span>new</span> PDO(<span>$dsn</span>, <span>$user</span>, <span>$pwd</span><span>); </span><span>10</span> <span>echo</span> '连接成功!'<span>; </span><span>11</span> } <span>catch</span> (<span>Exception</span> <span>$e</span><span>) { </span><span>12</span> <span>echo</span> <span>$e</span>->getMessage() . "<br>"<span>; </span><span>13</span> <span>} </span><span>14</span> ?>
3种方法执行sql语句
执行sql语句的方法有:exec(),query(),prepare()+execute()。
1、exec()方法用于执行input,delete,update语句,返回值为受影响的行数;
2、query()方法用于执行select语句,返回值为一个二位数组;
3、预处理语句prepare()+execute(),可以用于执行input,delete,update,select语句,
可以把预处理语句看成想要运行的SQL的一种编译过的模板,他可以使用变量参数进行定制,做到查询时只需解析一次就可以执行多次;
如果应用程序只使用预处理语句,可以确保不会发生SQL注入。
PDO::prepare()返回值为一个PDOStatement对象,对象的内容为prepare()方法里面的参数;
PDO::execute(),检查sql是否可执行,返回值为一个boolean类型。
从预处理语句的返回值也可以看出,他并没有真正的执行sql语句,而是检查sql的正确性,准备好执行的状态,等到需要用到结果集的时候再执行。
<span> 1</span> <?<span>php </span><span> 2</span> <span>include_once</span> './pdo_db_conn.php'<span>; </span><span> 3</span> <span>try</span><span> { </span><span> 4</span> <span>$query</span> = "select * from building"<span>; </span><span> 5</span> <span>//</span><span> $result = $pdo->query($query);//结果为一个二维数组</span> <span> 6</span> <span>$result</span> = <span>$pdo</span>->prepare(<span>$query</span><span>); </span><span> 7</span> <span>var_dump</span>(<span>$result</span><span>); </span><span> 8</span> <span>$flag</span> = <span>$result</span>-><span>execute(); </span><span> 9</span> <span>var_dump</span>(<span>$flag</span><span>); </span><span>10</span> } <span>catch</span> (<span>Exception</span> <span>$e</span><span>) { </span><span>11</span> <span>echo</span> <span>$e</span>-><span>getMessage(); </span><span>12</span> <span> } </span><span>13</span> ?>
返回值:
object(PDOStatement)[2]
public 'queryString' => string 'select * from building' (length=22)
boolean true
3种方法获取结果集
获取结果集的方法有fetch(),fetchAll(),fetchColumn();
fetch()方法获取结果集中的下一行,是一个数组;
fetchAll()方法获取结果集中的所有行,是一个数组;
fetchColumn()方法获取结果集中下一行指定的列的值。
三个方法的调用对象类型为PDOStatement对象类型,一般是在预处理语句之后执行
3种方法捕获sql语句中的错误的方式
当执行sql语句出现错误是,可以根据设置的错误提示方式,来决定显示错误的方法。
错误提示方式有:
1、PDO::ERRMODE_SILENT
默认方式,出现错误时程序继续执行,无错误提示。
2、PDO::ERRMODE_WARNING
出现错误时会继续执行,错误的部分会提示警告信息。
3、PDO::ERRMODE_EXCEPTION
出现错误时不会继续执行,错误的部分会提示异常信息。
2种方法获取程序错误信息
当执行sql语句出现错误是(访问数据库部分,对结果集的遍历错误不会提示),可以通过errorCode(),errorInfo()两个方法在后台输出错误信息,当sql语句是通过预编译执行的,这两个方法不适用。当在程序中调用errorCode()方法后,返回值为00000(5个0)时,表示程序没有错误,但返回其他5个字符时,表示程序是有错误的,这时可以通过调用errorInfo()方法来查看具体错误的信息。
这个跟PHP的版本有一点点关系的。比如,PHP5.2要开启php_pdo.dll和php_pdo_mysql.dll两个,php5.4则只需要开启php_pdo_mysql.dll这一个就行了
$s_sql = select username,password from t_table where username=? and password=?;
$sth = $dbh->prepare($s_sql);
$result = $sth->execute(array($username,$password));
$result = $sth->fetchAll();//如果不存在返回的是空的数组,如果存在就是用户名+密码

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP ialah bahasa pembangunan web popular yang telah digunakan sejak sekian lama. Kelas PDO (Objek Data PHP) yang disepadukan dalam PHP adalah cara biasa untuk kita berinteraksi dengan pangkalan data semasa pembangunan aplikasi web. Walau bagaimanapun, masalah yang sering dihadapi oleh sesetengah pembangun PHP ialah apabila menggunakan kelas PDO untuk berinteraksi dengan pangkalan data, mereka menerima ralat seperti ini: PHPFatalerror:CalltoundefinedmethodPDO::prep

Sebagai bahasa pengaturcaraan yang popular, PHP digunakan secara meluas dalam bidang pembangunan web. Antaranya, sambungan PDO_PGSQL PHP ialah sambungan PHP yang biasa digunakan Ia menyediakan antara muka interaktif dengan pangkalan data PostgreSQL dan boleh merealisasikan penghantaran data dan interaksi antara PHP dan PostgreSQL. Artikel ini akan memperkenalkan secara terperinci cara menggunakan sambungan PDO_PGSQL PHP. 1. Apakah sambungan PDO_PGSQL? PDO_PGSQL ialah perpustakaan sambungan PHP, yang

PHP dan PDO: Cara melakukan sisipan kelompok dan kemas kini Pengenalan: Apabila menggunakan PHP untuk menulis aplikasi berkaitan pangkalan data, anda sering menghadapi situasi di mana anda perlu memasukkan dan mengemas kini data secara berkelompok. Pendekatan tradisional adalah dengan menggunakan gelung untuk melaksanakan pelbagai operasi pangkalan data, tetapi kaedah ini tidak cekap. PDO PHP (PHPDataObject) menyediakan cara yang lebih cekap untuk melaksanakan operasi sisipan dan kemas kini kelompok Artikel ini akan memperkenalkan cara menggunakan PDO untuk melaksanakan operasi sisipan dan kemas kini kelompok. 1. Pengenalan kepada PDO: PDO ialah PH

PDOPDO ialah lapisan abstraksi akses pangkalan data berorientasikan objek yang menyediakan antara muka bersatu untuk PHP, membolehkan anda menggunakan kod yang sama untuk berinteraksi dengan pangkalan data yang berbeza (seperti Mysql, postgresql, oracle). PDO menyembunyikan kerumitan sambungan pangkalan data asas dan memudahkan operasi pangkalan data. Kebaikan dan Kelemahan Kelebihan: Antara muka bersatu, menyokong berbilang pangkalan data, memudahkan operasi pangkalan data, mengurangkan kesukaran pembangunan, menyediakan penyata yang disediakan, meningkatkan keselamatan, menyokong pemprosesan transaksi Kelemahan: prestasi mungkin lebih rendah sedikit daripada sambungan asli, bergantung pada perpustakaan luaran, mungkin meningkatkan overhed, kod demo menggunakan PDO Sambung ke pangkalan data mysql: $db=newPDO("mysql:host=localhost;dbnam

PHP dan PDO: Cara mengendalikan data JSON dalam pangkalan data Dalam pembangunan web moden, memproses dan menyimpan sejumlah besar data adalah tugas yang sangat penting. Dengan populariti aplikasi mudah alih dan pengkomputeran awan, semakin banyak data disimpan dalam pangkalan data dalam format JSON (JavaScript Object Notation). Sebagai bahasa sebelah pelayan yang biasa digunakan, sambungan PDO (PHPDataObject) PHP menyediakan cara yang mudah untuk memproses dan mengendalikan pangkalan data. Buku

PHP dan PDO: Cara membuat pertanyaan dan memaparkan data dalam halaman Apabila membangunkan aplikasi web, menanya dan memaparkan data dalam halaman adalah keperluan yang sangat biasa. Melalui paging, kami boleh memaparkan sejumlah data pada satu masa, meningkatkan kelajuan pemuatan halaman dan pengalaman pengguna. Dalam PHP, fungsi pertanyaan paging dan paparan data boleh direalisasikan dengan mudah menggunakan perpustakaan PHP Data Object (PDO). Artikel ini akan memperkenalkan cara menggunakan PDO dalam PHP untuk bertanya dan memaparkan data mengikut halaman, dan memberikan contoh kod yang sepadan. 1. Buat pangkalan data dan jadual data

Cara menggunakan PDO untuk menyambung ke pangkalan data Redis adalah sumber terbuka, berprestasi tinggi, pangkalan data nilai kunci storan dalam memori yang biasa digunakan dalam cache, baris gilir dan senario lain. Dalam pembangunan PHP, menggunakan Redis boleh meningkatkan prestasi dan kestabilan aplikasi dengan berkesan. Melalui sambungan PDO (PHPDataObjects), kami boleh menyambung dan mengendalikan pangkalan data Redis dengan lebih mudah. Artikel ini akan menerangkan cara menggunakan PDO untuk menyambung ke pangkalan data Redis, dengan contoh kod. Pasang sambungan Redis pada mulanya

PHP dan PDO: Bagaimana untuk melakukan carian teks penuh dalam pangkalan data Dalam aplikasi web moden, pangkalan data adalah komponen yang sangat penting. Carian teks penuh ialah ciri yang sangat berguna apabila kita perlu mencari maklumat khusus daripada jumlah data yang besar. PHP dan PDO (PHPDataObjects) menyediakan cara yang mudah tetapi berkuasa untuk melaksanakan carian teks penuh dalam pangkalan data. Artikel ini akan memperkenalkan cara menggunakan PHP dan PDO untuk melaksanakan carian teks penuh dan menyediakan beberapa kod sampel untuk menunjukkan proses tersebut. pertama
