• 1
  • 2 RepliesReplies
  • 16233 ReadTimes Read
  • 0 PointsPoints

Topic: Elegir correctamente una fila en la tabla (SQL) y PHP

Usuario: Papá distante
Rango: Moderador Global
Mensajes: 3504
Points: 168
Perfil: View Profile
Pais:
de
A ver muchachos, sigo empezando a tratar de entender mySQL

tengo creada una tabla con varias columnas, usando un id como indice principal

He hecho correctamente la conexión con la base de datos, pero no logro escribir bien la consulta, es decir en SQL dentro de myPhpAdmin funciona ok, pero en el archivo php no.

Lo que quiero hacer, es seleccionar la fila donde el id corresponda al que yo quiero,

lo tengo así:

Code: [Select]
$consulta = mysql_query("SELECT * FROM 'tabla_proceso' WHERE id='1'") or die ("Error en la consulta");
Pero también he probado
Code: [Select]
$consulta = mysql_query("SELECT * FROM tabla_proceso WHERE id=1") or die ("Error en la consulta");
o
Code: [Select]
$consulta = mysql_query("SELECT * FROM tabla_proceso WHERE 1") or die ("Error en la consulta");
Y siempre obtengo error en la consulta. Pueden sacarme de burro y darme algún indicio de cual es mi error?
-> Agu Agu... aguu... aguuu WAHHHHHAAAAAHAHAHAHAAAAAAAA ->
You do not have permission to give points
point 0 Points

This topic did not receive points.

Usuario: manix
Rango: User Extremo
Mensajes: 437
Points: 214
Perfil: View Profile
Pais:
cr
Re:Elegir correctamente una fila en la tabla (SQL) y PHP
Reply #1 April 16, 2013 - 09:46 09:46
Hola Distante,

Antes de hacer una consulta debes de tener en cuenta los siguientes puntos:

* Tipo de dato de la columna
* Nombre de la tabla
* Uso de identificadores de tabla, equivale a mayor control

Tipo de dato de la columna
El tipo de columna es importante, porque si estás trabajando con datos de tipo numérico (int, tinyint, bigint, double, float) el where debe ir sin comillas, así:
Code: [Select]
WHERE id=1
Cuando se trata de tipo texto (varchar(n), text, blob), el valor del where si debe ir entre comillas, puede ser tanto simples como dobles:
Code: [Select]
WHERE id='1' o bien, WHERE id="1"

Nombre de la tabla
El nombre nunca debe ir entre comillas. Pero, de pronto verás que mysql usa muchas veces esta sintaxis:
Code: [Select]
SELECT * FROM `tabla_proceso` WHERE id=1
En el caso anterior, la tabla está rodeada de comillas inversas. La razón más importante para usar esas comillas (cabe destacar que son opcionables) es cuando quieres usar nombres reservados para la tabla, por ejemplo, en mysql la palabra "table" es reservada, y si la usas así te dará error:
Code: [Select]
SELECT * FROM table WHERE id=1
Sin embargo, si vos quieres usar dicho nombre como nombre de tabla, entonces lo resuelves así:
Code: [Select]
SELECT * FROM `table` WHERE id=1

Uso de identificadores de tabla, equivale a mayor control
Distante, una buena práctica a la hora de hacer consultas, es ponerle un "nombre temporal" a tu tabla, por ejemplo, tienes esto:
Code: [Select]
SELECT * FROM tabla_procesos WHERE id=1
Renombrar una tabla equivale a ponerle un nombre más sencillo de llamar:
Code: [Select]
SELECT * FROM tabla_procesos t WHERE t.id = 1
Posiblemente ahorita no le veas la fuerza a esta última propiedad, pero cuando empieces a trabajar con múltiples tablas, encontrarás en ella una gran ventaja y sobretodo, mucho orden.


Conclusión
Asumiendo que el tipo de dato de tu índice principal es un numérico, tu consulta debe ser así:
Code: [Select]
SELECT * FROM tabla_procesos WHERE id = 1

Usuario: Papá distante
Rango: Moderador Global
Mensajes: 3504
Points: 168
Perfil: View Profile
Pais:
de
Re:Elegir correctamente una fila en la tabla (SQL) y PHP
Reply #2 April 16, 2013 - 10:20 22:20
MUCHAS GRACIAS MANIX!

recién puedo contestarte, en la tarde entre a este tema pero justo comenzó mi clase. Coy a hacer las pruebas mañana a ver si me funciona todo. Miles de gracias!

 

TAGS



top

Smfsimple.com es un sitio destinado a brindar un servicio de soporte y herramientas para foros realizados con el sistema de foros gratuito simplemachines.org. Contamos con un selecto equipo de desarrolladores y conocedores del sistema, sus foros estaran en buenas manos.
This site is not affiliated with or endorsed by Simple Machines