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!