Conciso:
¿Para crear una clase para conectar a la base de datos mysql me conviene usar mysql_conect, mysql_query, etc o me conviene usar mysqli ?
Detalloso:
Resulta que cree una clase para usar una base de datos (en este caso mysql). No es la gran cosa, pero me es útil para hacer cosas de éste estílo:
Código PHP:
Ver original
$bd = BaseDatos::instancear(); $usuarios = $bd->ek_objetos('SELECT * FROM usuarios'); echo '<ul>'; foreach($usuarios as $usuario) { echo '<li>'.$usuario->nombre.', '; echo $usuario->edad.', '; echo $usuario->sexo.'</li>'; } echo '</ul>';
Código PHP:
Ver original
// o bien $bd = BaseDatos::instancear(); $libros = $bd->ek_arreglos('SELECT * FROM usuarios'); echo '<ul>'; foreach($libros as $libro) { echo '<li>'. $libro['titulo'] .', '; echo $libro['autor'] .', '; echo $libro['editorial'] .'</li>; } echo '</ul> // o bien $libro = $bd->ek_arreglos(); echo '<ul>'; foreach($libros as $libro) { echo '<li>'; foreach( $libro as $dato ) { echo $dato .', '; } echo '</li>'; } echo '</ul>';
Para esto usé la api básica de php para conectar con mysql, esas sentencias tipo mysql_conect, mysql_fetch_array, etc.
El problema es que ahora estaba revisando el manual php y dice lo siguiente:
Cita:
Entonces estoy plop!, ¿Qué tiene de bueno mysqli que no tenga la api mysql a secas? Eso de la orientación a objetos lo entiendo y es por eso que me cree una clase, por ejemplo si mañana cambio de mysql a postgreSQL sólo cambio mi clase y listo, pero si uso mysqli tendría que recorrer todo el código para cambiar cada sentencia mysqli.Note:
Si se utiliza una versión de MySQL 4.1.3 o posterior, se recomienda encarecidamente utilizar la extensión mysqli en su lugar. (http://www.php.net/manual/es/mysqli.overview.php)
Si se utiliza una versión de MySQL 4.1.3 o posterior, se recomienda encarecidamente utilizar la extensión mysqli en su lugar. (http://www.php.net/manual/es/mysqli.overview.php)
¿Qué opinan? ¿Continúo tal como voy?
muchas gracias!