“Conocimientos Programación>Programación PHP /MySQL

PHP MySQL vs. MySQLi

2012/2/22
El lanzamiento de PHP versión 5 incluye una nueva extensión para el acceso a bases de datos MySQL llamado MySQL mejorada o MySQLi . MySQLi ofrece un mejor rendimiento , una estructura orientada a objetos, soporte para comandos preparados y funcionalidad adicional en la forma de transacciones de bases de datos . La extensión MySQL actual no se puede mejorar , por ejemplo, para proporcionar soporte Unicode , y, finalmente, se eliminarán a partir de la versión PHP 6 . Orientada a Objetos Estructura

MySQLi proporciona un conjunto de funciones para una estructura de código de estilo de procedimiento para hacer la transición de MySQL más fácil. Sin embargo , también proporciona funcionalidad a través de un conjunto de clases orientadas a objetos . El uso de un estilo orientado a objetos puede hacer la integración de MySQL encaja mejor con PHP versión 5 características orientadas a objetos y con frecuencia elimina la necesidad de crear variables adicionales para apoyar las operaciones de MySQL y tareas. Por ejemplo , a continuación se muestra el código para conectarse a un servidor de base de datos y abrir una base de datos , tanto en MySQL y MySQLi : MySQL: $ dbc = mysql_connect ( "localhost " , "usuario ", " contraseña" ), $ db = mysql_select_database ( "base de datos ");

mySQLi : $ db = new mysqli ( "localhost " , "usuario ", " contraseña" , "base de datos ");

sentencias preparadas

Quizás la mayor diferencia entre MySQL y MySQLi es el apoyo de MySQLi para comandos preparados . Con MySQL , hay que tener un cuidado especial para escapar de cada cadena que se utiliza en una consulta para prevenir los ataques de inyección SQL. Con MySQLi y declaraciones preparadas , se enlaza un conjunto de parámetros a una consulta y establecer los parámetros de igualdad a los distintos valores que desee usar en la consulta. MySQLi se encarga de asegurarse de que todo el código se escapó correctamente antes de que se aplica a la base de datos . Por ejemplo , el código siguiente inserta dos Recrods en una tabla MySQL utilizando MySQLi :

$ stmt = $ db -> prepare ( "INSERT INTO personas ( FullName , Email ) valores ( , ), $ ? stmt -> bind_param ( "ss ", $ nombre completo , $ email ), $ nombre completo = " John Johnson" , $ email = " john@johnjohnson.com " ; $ stmt -> execute ( ), $ nombre completo = " Mary Johnson " $ email = " mary@johnjohnson.com " ; $ stmt -> execute (); $ stmt -> close () ;
Eficiencia mejoras

Debido a declaraciones preparadas y otras mejoras en la eficiencia , la extensión MySQLi deben realizar más rápido que las declaraciones de MySQL equivalentes. Como se puede ver en el ejemplo anterior, el uso de sentencias preparadas , sólo se requiere la sobrecarga de una inserción una vez, cuando se prepara la declaración. con un inserto MySQL equivalente , la sobrecarga de la inserción se repite con cada inserción consulta a la base de datos.
Transacciones

MySQLi proporciona una funcionalidad adicional en la forma de transacciones. Con la extensión mysqli , puede agrupar un conjunto de operaciones de datos juntos en una transacción y ejecuta las operaciones en conjunto como una sola transacción. Si una operación en la operación falla, toda la operación falla y cualquier los cambios que se han hecho se deshacen. Por ejemplo , podría usar una transacción cuando se programa una transferencia de dinero entre dos cuentas , porque a menos que ambas partes de la operación de éxito, la operación no es un éxito, y que no quieren dejar un estado en el que una cuenta ha sido cargada , pero la otra cuenta no ha sido acreditado .

Programación PHP /MySQL
Cómo ocultar su dirección de correo electrónico mediante PHP
Cómo recuperar una matriz de MySQL
Cómo probar FFmpeg en PHP
Cómo insertar un archivo PHP en todas las páginas
MySQL Tutorial para convertir fechas
Cómo extender la longitud de VARCHAR en MySQL
Cómo mostrar un documento de Word con PHP
Cómo activar JavaScript en PHP
Conocimientos Informáticos © http://www.ordenador.online