Acaba de encontrar un supuesto error:
Código
SELECT t1.id, t2.* FROM for_sale t1 INNER JOIN property t2 ON t2.id = t1.id WHERE t2.USE = 1 AND t2.TYPE = 2 OR t2.TYPE = 3 NULL NULL NULL NULL LIMIT ?, ?
Podria ser por las variables que se imprimen como NULL, sin embargo le acaba de poner else unset() a los IFs y sigue tirando el mismo error. Ya no sé que más probar...
Código
if ($filter_type != NULL) { foreach ($filter_type as $type=>$value) { if ($type === 0) { $type_cond = 'AND t2.type = ' . $value; } else { $type_cond .= $type_cond . "\n OR t2.type = " . $value; } }
EDITO: Que extraño, al marcar 3 checkboxes se repite el primero... Puede ser el foreach (que lo dudo) o el array...
Código
MySQLi failed: You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near 't2.type = 1 OR t2.type = 2AND t2.type = 1AND t2.type = 1 OR t2.type = 2 OR t2' at line 5<br><br />
Esos dos AND despues del primer OR están de más... ¿Como es posible que se este imprimiendo asi?
Al parecer lo del NULL no tiene nada que ver, no se llega a imprimir, asi que esos unset() están de más.