Para ello elaboré la siguiente función pero me dí cuenta de que no estaba todo lo bien que debiera:
Código PHP:
function consultar($consulta){
include("datos_conexion.php");
//El problema está aquí y es que la consulta se puede ejecutar correctamente pero que devuelva 0 (0 es igual a false), entonces si la consulta no develve nada pero se ejecuta correctamente yo devuelvo un false, como si hubiera ocurrido un error, cuando en realidad no es así.
$resultado=mysql_query($consulta,$id_conexion);
if (!$resultado) return false;
else{
$palabras=explode(" ",trim($consulta));
$datos=array();//Inicializamos el array
if (strtolower($palabras[0])=="select"){
$j=0;
while ($fila=mysql_fetch_row($resultado)){
for ($i=0;$i<count($fila);$i++) $datos[$j][$i]=$fila[$i];
$j++;
}
return $datos;
}
elseif(strtolower($palabras[0]=="insert")){
//Si el tipo de datos no es autonumerico mysql_insert_id deberia devolver 0 (que es igual a false)
if (mysql_insert_id($id_conexion)==0) return TRUE;
else return mysql_insert_id($id_conexion);
}
else return true;
}
}
Hay alguna manera más profesional de hacer esto o por lo menos hay alguna manera de arreglar este problema?
Saludos.