Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Pazador en 12 Mayo 2010, 06:36 am



Título: Duda sobre las comillas en una query
Publicado por: Pazador en 12 Mayo 2010, 06:36 am
Hola a todos.. tengo una duda acerca de las comillas en una query, pero no las comillas simples, ni las dobles.. sino estas: (`)

en diferentes cms que estoy destripando para repasar el codigo encuentro querys como estas:

Código
  1. 'SELECT `title`, `content` FROM `freeblock` WHERE `id_lang`='.$id_lang

mi pregunta es saber si es necesario agregar esas comillas (`) en cada query?? porque yo (creo que la mayoria) escribo mis querys asi:

Código
  1. 'SELECT title, content FROM freeblock WHERE id_lang='.$id_lang
las dos querys funcionarian sin problemas pero acaso es recomendable hacerlo de la primera forma o esas comillas solo son un adorno  :huh:


Título: Re: Duda sobre las comillas en una query
Publicado por: Shell Root en 12 Mayo 2010, 06:40 am
Si mal no recuerdo, es igual que esto:
Código
  1. 'SELECT "title", "content" FROM "freeblock" WHERE "id_lang"='.$id_lang

Entiendes? No sé como explicarlo...


Título: Re: Duda sobre las comillas en una query
Publicado por: Pazador en 12 Mayo 2010, 07:13 am
emmm creo que si entiendo la idea.. pero en teoria no se deberia usar.. ya que los nombres de los campos no son string, sino sus datos que los contienen. Por que he visto que hacen lo mismo para seleccionar un campo `id` sabiendo muy bien que son de tipo int ... me parece que estan por demas  :rolleyes:


Título: Re: Duda sobre las comillas en una query
Publicado por: ^Tifa^ en 12 Mayo 2010, 19:19 pm
No del todo, algunos objetos en MySQL (esquemas, tablas, indices, columnas, vistas, alias, procedimientos almacenados, etc..) son lo que se conoce como identificadores. Si un identificador contiene caracteres especiales o es una palabra reservada (Si MySQL tiene palabras reservadas tambien lolx, y no "_" y "$" no son palabras reservadas),
estas tienen obligatoriamente que ser encomilladas, con la comilla invertida (`) para que el motor sepa que no te estas refiriendo  a una palabra reservada de el, o que esa data que estas pasando tiene 1 valor pero si tiene caracteres especiales y no se entrecomilla da error.

Si haz programado en algun lenguaje, veras que de vez en cuando utilizas algo para poder usar algun valor que por poseer caracter especial puede ser confundido por el interprete o el compilador como una variable cuando realmente quieres pasar un valor y no una variable..entre otras cosas.


Título: Re: Duda sobre las comillas en una query
Publicado por: Pazador en 13 Mayo 2010, 04:40 am
 :D ahora si que comprendi la idea, claro que sabia acerca de las palabras reservadas, pero en los momentos que inicie el post no se me vino a la mente, ahora si quedo todo claro... entonces si queremos evitar el uso de palabras reservadas se pueden usar no solamente esas comillas sino las dobles o simples..  ;D
gracias y saludos  :laugh: