Y para esto porque no creas una clase:
Código PHP:
Ver original<?php
class Conexion {
public $conexion;
public $respuesta;
private $datos = array();
public function conectar(){
$this->datos["host"] = "localhost";
$this->datos["user"] = "usuario";
$this->datos["pass"] = "password";
$this->datos["bd"] = "base_datos";
$this->conexion = new \mysqli($this->datos['host'], $this->datos['user'], $this->datos['pass'], $this->datos['bd']);
$this->conexion->set_charset("utf8");
if($this->conexion->connect_errno){
print "Hubo un error al conectar con la base de datos: (".$this->conexion->connect_error.").";
}
return $this->conexion;
}
public function consultar($sql, $action) {
global $mysqli;
if(!$mysqli) {
$mysqli = self::conectar();
}
$p = $mysqli->query($sql);
switch ($action) {
case "extraer":
$this->respuesta = $p->fetch_assoc();
$mensaje = "Hubo un error al extraer los datos: ";
break;
case "filas":
$this->respuesta = $p->num_rows;
$mensaje = "Hubo un error al contar las filas: ";
break;
case "borrar":
$mensaje = "Hubo un error al borrar el dato: ";
break;
}
if($mysqli->error) {
return $mensaje."".$mysqli->error;
}
return false;
}
}
?>
Código PHP:
Ver original<?php
require_once("clases/Conexion.php");
$OBJ_BD = new Conexion();
$mysqli = $OBJ_BD->conectar();
$sql = "SELECT * FROM usuarios WHERE id = '1'";
$error = $OBJ_BD->consultar($sql, "extraer");
if($error) {
echo $error;
}
$respuesta = $OBJ_BD->respuesta;
?>
Esto es solo un ejemplo hecho en dos minutos, puede que tenga fallos ya que no lo he hecho en un editor y se me puede haber pasado algo. Además habría que adaptarlo a las necesidades de cada uno, pero creo que el concepto queda claro.