Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/04/2020, 15:28
Avatar de Middrel
Middrel
 
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años, 10 meses
Puntos: 27
Duda con variables sql_mode

Buenas tardes,

Tengo un dilema con una configuración en el servidor de mi proveedor de hosting. En la sección de las variables de phpmyadmin está la opción de sql_mode, la cual tiene el siguiente valor:

sql_mode = ONLY_FULL_GROUP_BY,​STRICT_TRANS_TABLES,​NO_ZERO_I N_DATE,​NO_ZERO_DATE,​ERROR_FOR_DIVISION_BY_ZERO,​ NO_AUTO_CREATE_USER,​NO_ENGINE_SUBSTITUTION

el cuál no me permite mostrar información en una página cuando la opción: ONLY_FULL_GROUP_BY está activa en ese valor, por lo cual tengo que eliminarla para que pueda mostrar la información en la página, quedando de la siguiente forma:

sql_mode = ​STRICT_TRANS_TABLES,​NO_ZERO_IN_DATE,​NO_ZERO_DAT E,​ERROR_FOR_DIVISION_BY_ZERO,​NO_AUTO_CREATE_USER ,​NO_ENGINE_SUBSTITUTION

Esto, porque al parecer se vuelve a cargar la cadena completa en el servidor cada cierto tiempo. Mi consulta a la base de datos ya la modifiqué en dos ocasiones y el resultado es el mismo. Mi código es este:

Código PHP:
if(isset($_POST['filtrar'])){
        
        
$param1 trim(mysqli_real_escape_string($conn$_POST['marcas']));
        
$param2 trim(mysqli_real_escape_string($conn$_POST['modelos']));
        
$param3 trim(mysqli_real_escape_string($conn$_POST['inicial']));
        
$param4 trim(mysqli_real_escape_string($conn$_POST['menu']));
        
        if(empty(
$param1)){ $marcas ""; } else { $marcas " AND prod.marca_coche = '" $param1 "' ";  }
        if(empty(
$param2)){ $modelos ""; } else { $modelos " AND prod.modelo = '" $param2 "' ";  }
        if(empty(
$param3)){ $anios ""; } else { $anios " AND anio = '" $param3 "' ";  }        
            
        
$sqlSelectBusqueda mysqli_query($conn"Select anio, codigo_barras, nombre, caracteristicas, marca.marca, mcoche.marca_coche, model.modelo, sub.submodelo, ver.version, precio from productos as prod Left Join marca as marca On (id_marca = prod.marca) Left Join marca_coche as mcoche On (id_mcoche = prod.marca_coche) Left Join modelo as model On (id_modelo = prod.modelo) Left Join submodelos as sub On (id_submodelo = prod.submodelo) Left Join version as ver On (id_version = prod.version) Where prod.id_menu = " $param4 $marcas $modelos $anios " Order by prod.id_productos");               
      
    } 
Anteriormente, esta consulta tenía la sentencia Group By. Según esta es la que me provocaba ese impedimento de mostrar la información de esa consulta en la página, por lo cual modifiqué mi código como está arriba, pero el resultado sigue siendo el mismo.

¿Alguien sabe como puedo corregir que ONLY_FULL_GROUP_BY me impida mostrar la consulta? ¿Desde el código en PHP se puede?

De antemano, gracias por sus comentarios.

Saludos!