Ver Mensaje Individual
  #8 (permalink)  
Antiguo 18/06/2014, 01:11
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
Respuesta: Validación en tablas dinámicas

No tiene nada que ver con la concatenación de las variables, los delimitadores son parte de la sintaxis de sql.

Los acentos graves sirven para encerrar los nombres de los objetos, nombres de campos, tablas etc, son opcionales excepto que estes usando palabras reservadas como nombres (no aconsejable) o nombres con espacios blancos (aún más desaconsejable). Las {} que estas usando yo no las he usado nunca.

Los apóstrofes ' ' o las dobles comillas " " sirven para encerrar los valores de determinados tipos de datos.

Todo esto se complica al mezclar la sintaxis de sql con la de php.

La estrategia que uso yo es reservar las dobles comillas " " para php y los apostrofes para sql y No uso los acentos graves ``ya que uso una politica de nombres que los hacen innecesarios.

$sql="aqui sintaxis sql".aqui sintaxis php."aqui sql";

Es decir aun que php permite insertar una variable directamente en un string prefiro separar las sintaxis.

Código php:
Ver original
  1. $filtro="perro";
  2.  
  3. $sql="SELECT * FROM unaTabla WHERE animal='".$filtro."';";

Si substituyes la variable por su valor obtienes una query con sintaxis correcta

Código SQL:
Ver original
  1. SELECT * FROM unaTabla WHERE animal='perro';
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.