pdo到底有什么用?解决方案
pdo到底有什么用?
百科上说
PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。PDO随PHP5.1发行,在PHP5.0的PECL扩展中也可以使用。
这是什么意思?用pdo执行的查询代码即使更换了数据库也能正常运行?
SQL查询各个数据都不同的啊 ,比如mysql有limit,MSSQL没有limit,pdo会自动转换过来?
如果不行的话用pdo又有什么意义?
------解决方案--------------------
由于数据库的差异性,各个数据库的调用不是完全相同的,同样的程序如果使用不同的数据库存放数据时,需要对程序的数据处理部分进行改动,给移植带来不便。
用pdo,为数据库访问提供了一致的接口,只需在配置的连接参数中,配置不同的数据库驱动就可以了,而把对数据处理程序的改动降低到最小,甚至不需改动。为数据的处理及安全性都带来了很大的方便。
------解决方案--------------------
其实也不能说与其他包完全没有依赖关系。
在php5.3后,php加入了一个叫mysqlnd的库,pdo_mysql会判断,如果定义了PDO_USE_MYSQLND这个宏,就使用mysqlnd提供的api来操作mysql,否则他需要知道你mysql的安装目录,去找mysql的.h文件,然后调用mysql本身的api。
还有php_mysql和php_mysqli,如果你在编译php时,指定了mysql的驱动为mysqlnd(--with-mysql=mysqlnd和--with-mysqli=mysqlnd),就使用mysqlnd的接口来操作mysql,否则你需要将--with-mysql和--with-mysqli指定为php-config,他会去使用mysql本身api。
php_pdo_mysql_int.h
--------------------------------
/* $Id$ */
#ifndef PHP_PDO_MYSQL_INT_H
#define PHP_PDO_MYSQL_INT_H
#if defined(PDO_USE_MYSQLND)
# include "ext/mysqlnd/mysqlnd.h"
# include "ext/mysqlnd/mysqlnd_libmysql_compat.h"
# define PDO_MYSQL_PARAM_BIND MYSQLND_PARAM_BIND
#else
# include
# define PDO_MYSQL_PARAM_BIND MYSQL_BIND
#endif

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

The page is blank after PHP connects to MySQL, and the reason why die() function fails. When learning the connection between PHP and MySQL database, you often encounter some confusing things...

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

PHP...

Many website developers face the problem of integrating Node.js or Python services under the LAMP architecture: the existing LAMP (Linux Apache MySQL PHP) architecture website needs...

How to share the same page on the PC and mobile side and handle cache issues? In the nginx php mysql environment built using the Baota background, how to make the PC side and...
