Conexión a base de datos MySQL con Extensión MySQLi desde PHP
Función para conectarse a MYSQL con Extensión MySQLi desde PHP 7
<?php
define('SERVER_MYSQL', 'localhost');
define('DATABASE', 'nombre base de datos');
define('BD_USUARIO', 'nombre usuario');
define('BD_CLAVE', 'contraseña');
$conexion = connectDB(SERVER_MYSQL,BD_USUARIO,BD_CLAVE,DATABASE);
function connectDB($servidor = SERVER_MYSQL, $usuario = BD_USUARIO, $contrasena = BD_CLAVE, $nombreBD = DATABASE)
{
//Creando la conexión, nuevo objeto mysqli
$link = new mysqli($servidor,$usuario,$contrasena,$nombreBD);
//mysqli_set_charset('utf8',$link);
if (!mysqli_set_charset($link, "utf8")) {
//printf("Error cargando el conjunto de caracteres utf8: %s\n", mysqli_error($link));
//exit();
} else {
//printf("Conjunto de caracteres actual: %s\n", mysqli_character_set_name($link));
}
//Si sucede algún error la función muere e imprimir el error
if($link->connect_error){
die("Error en la conexion : ".$link->connect_errno."-".$link->connect_error);
}
//Si nada sucede retornamos la conexión
mysqli_select_db( $link, $nombreBD) ;
return $link;
}
?>
Consulta a la base de datos con mysqli_query
La función mysqli_query se utiliza para ejecutar consultas SQL. La función se puede utilizar para ejecutar los siguientes tipos de consulta:
Insert , Select , Update , delete
Sintaxis:
<?php
mysqli_query($db_handle,$query) ;
?>
$query = Es la consulta SQL a ejecutar.
$db_handle = Es opcional, se puede usar para pasar el enlace de conexión del servidor.
function db_query($consulta){
global $conexion;
$resultado = mysqli_query( $conexion, $consulta ) or die ( "Algo ha ido mal en la consulta a la base de datos");
return $resultado ;
}
Modo de Uso funcion db_query
$sql_consulta="select * from tabla";
$rs_consulta = db_query($sql_consulta);
Determinar el número de filas del resultado con mysqli_num_rows.
function db_num_rows($query){
/* determinar el número de filas del resultado */
return mysqli_num_rows ($query);
}
Modo de Uso funcion db_num_rows:
$sql_consulta="select * from tabla";
$rs_consulta = db_query($sql_consulta);
$nro_registros = db_num_rows($rs_consulta);
Determinar el número de filas afectadas por INSERT, UPDATE, o DELETE utilizando - mysqli_affected_rows.
La función mysqli_affected_rows() Regresa el número de filas afectadas en la consulta anterior INSERT, UPDATE, o DELETE. Si la última consulta fue invalida, esta función regresará -1.
En caso de que necesite el número de filas de una consulta SELECT, use la función mysqli_num_rows() en su lugar.
Sintaxis:
mysqli_affected_rows(connection);
- Valor de retorno:
Un entero> 0 indica el número de filas afectadas. 0 indica que no hubo registros afectados. - -1 indica que la consulta devolvió un error
Modo de Uso mysqli_affected_rows():
mysqli_query($conexion,"DELETE FROM Persons WHERE Age>32");
echo "Affected rows: " . mysqli_affected_rows($conexion);
Liberar la memoria asociada a un resultado.
Siempre se debe liberar el resultado con mysqli_free_result(), cuando el objeto del resultado ya no es necesario.
function db_query_free_result($query){
/* determinar el número de filas del resultado */
return mysqli_free_result ($query);
}
mysqli_fetch_array
Es una versión extendida de la función mysqli_fetch_row(). Además de guardar la información en los índices numéricos del array resultante, la función mysqli_fetch_array() también puede guardar la información en índices asociativos, utilizando los nombres de los campos del resultado como llaves.
function db_fetch_array($query){
return mysqli_fetch_array($query);
}
Modo de uso de la funcion db_fetch_array
$sql_consulta="select * from tabla";
$rs_consulta = db_query($sql_consulta);
while ($row_registros = db_fetch_array($rs_consulta))
{
$variable = $row_registros['micampo'];
}
mysqli_fetch_assoc
function db_fetch_assoc($query){
return mysqli_fetch_assoc($query);
}
Función para desconectarme de la base de datos.
function disconnectDB($conexion){
$close = mysqli_close($conexion)
or die("Hubo un error con la desconexion de la base de datos");
return $close;
}
Modo de uso en php
1) Para usarlo en php lo puedes juntar todas la funciones y guardarlos por ejemplo en un archivo llamado config.php
define('SERVER_MYSQL', 'localhost');
define('DATABASE', 'nombre base de datos');
define('BD_USUARIO', 'nombre usuario');
define('BD_CLAVE', 'contraseña');
$conexion = connectDB(SERVER_MYSQL,BD_USUARIO,BD_CLAVE,DATABASE);
//-------Función para conectarse a MYSQL desde PHP --------------
function connectDB($servidor = SERVER_MYSQL, $usuario = BD_USUARIO, $contrasena = BD_CLAVE, $nombreBD = DATABASE)
{
//Creando la conexión, nuevo objeto mysqli
$link = new mysqli($servidor,$usuario,$contrasena,$nombreBD);
//mysqli_set_charset('utf8',$link);
if (!mysqli_set_charset($link, "utf8")) {
//printf("Error cargando el conjunto de caracteres utf8: %s\n", mysqli_error($link));
//exit();
} else {
//printf("Conjunto de caracteres actual: %s\n", mysqli_character_set_name($link));
}
//Si sucede algún error la función muere e imprimir el error
if($link->connect_error){
die("Error en la conexion : ".$link->connect_errno."-".$link->connect_error);
}
//Si nada sucede retornamos la conexión
mysqli_select_db( $link, $nombreBD) ;
return $link;
}
//-------FIN Función para conectarse a MYSQL desde PHP --------------
function db_query($consulta){
global $conexion;
$resultado = mysqli_query( $conexion, $consulta ) or die ( "Algo ha ido mal en la consulta a la base de datos");
return $resultado ;
}
function db_num_rows($query){
/* determinar el número de filas del resultado */
return mysqli_num_rows ($query);
}
function db_query_free_result($query){
/* determinar el número de filas del resultado */
return mysqli_free_result ($query);
}
function db_fetch_array($query){
return mysqli_fetch_array($query);
}
function db_fetch_assoc($query){
return mysqli_fetch_assoc($query);
}
//-------Función para desconectarme de la base de datos.--------
function disconnectDB($conexion){
$close = mysqli_close($conexion)
or die("Hubo un error con la desconexion de la base de datos");
return $close;
}
2) Luego lo incluyes en tu proyecto
include_once ($_SERVER['DOCUMENT_ROOT']."/config.php");