Cita:
Iniciado por spider_boy Pero... si ejecuta correctamente tus consultas, no tendría que mostrar error alguno, ¿o en este caso los errores no son lo mismo que los warnings?
Según la documentación de PHP... esa función devuelve el resultado de la consulta SHOW WARNINGS. Pero solo dice eso, no hay ejemplos ni nada
.
Según un comentario de la misma página :
Código PHP:
Ver originalif ($j > 0) {
for ($i = 0; $i < $j; $i++) {
}
}
http://php.net/manual/es/mysqli.get-warnings.php
Debes asegurarte primero que hayan warnings, para lo cual debes usar mysqli_warnings_count.
Ahora, sin ver el código es un tanto difícil adivinar.
Saludos.
Hola spider_boy
Bueno, me refiero a que funciona bien, que muestra los errores con consultas erroneas, el problema es que mysql_get_warnings me devuelve un boolean(false) y cuando hago la consulta SHOW WARNINGS si me arroja los WARNINGS, voy a poner tres de las funciones de la clase que me hacen la coneccion, habia puesto el codigo, pero como habia arreglado el problema lo quite, ahi va de nuevo:
Código PHP:
function ini_sql(){
global $config;
$host=$config['db']['host'];
$puerto=$config['db']['puerto'];
$usuario=$config['db']['usuario'];
$password=$config['db']['password'];
$database=$config['db']['database'];
$socket=$config['db']['socket'];
if($config['db']['clustering']==false){
if($this->test_host($host[1],$puerto[1])==TRUE){
$link=$this->conectar($host[1],$usuario[1],$password[1],$database[1],$puerto[1],$socket[1]);
return $link;
}else{
$this->alerta_grave('1',$host[1]);
return false;
}
}else{
if($this->test_host_multi($host,$puerto)==TRUE){
$link=$this->conectar_cluster($config);
return $link;
}
}
}
function conectar($host,$user,$pass,$db,$puerto,$socket){
return $this->functions['connect']($host,$user,$pass,$db,$puerto,$socket);
if (mysqli_connect_error()) {
$this->alerta_grave('2',mysqli_connect_errno(),mysqli_connect_error(),$host);
}
}
function write_sql($sql,$multi=0){
$linksql=$this->ini_sql();
global $config;
$resulta="";
$msjinterno="";
if($multi==TRUE){
$queryfunction=$this->functions['multi_query'];
}else{
$queryfunction=$this->functions['query'];
}
if($config['db']['clustering']==TRUE){
for($i=1;$i<=count($linksql);$i++){
$queryfunction($linksql[$i],"START TRANSACTION;");
$resulta=$queryfunction($linksql[$i],$sql);
if($resulta==FALSE){
$this->alerta_grave('3',mysqli_connect_error(), mysqli_connect_errno(),$sql,$linksql[$i]);
$queryfunction($linksql[$i],"ROLLBACK;");
}else{
$queryfunction($linksql[$i],"COMMIT;");
}
$this->cerrar_sql($linksql[$i],$resulta);
}
}else{
$queryfunction($linksql,"START TRANSACTION; ");
$resulta=$queryfunction($linksql,$sql);
if($resulta==FALSE){
$this->alerta_grave('3',mysqli_connect_error(), mysqli_connect_errno(),$sql,$linksql);
$queryfunction($linksql,"ROLLBACK;");
}else{
$queryfunction($linksql,"COMMIT;");
}
$this->cerrar_sql($linksql);
}
}