Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta MySql - dreamweaver

Estas en el tema de Consulta MySql - dreamweaver en el foro de Mysql en Foros del Web. Estoy trabajando en un buscador de registros desarrollado en mysql, php, iis y diseñador dreamweaver 8, tengo el siguiente fragmento de código <?php require_once('file:///C|/Inetpub/wwwroot/sitios/php/Connections/db.php'); ?> ...
  #1 (permalink)  
Antiguo 11/08/2006, 12:08
 
Fecha de Ingreso: junio-2006
Mensajes: 41
Antigüedad: 17 años, 10 meses
Puntos: 0
Consulta MySql - dreamweaver

Estoy trabajando en un buscador de registros desarrollado en mysql, php, iis y diseñador dreamweaver 8, tengo el siguiente fragmento de código

<?php require_once('file:///C|/Inetpub/wwwroot/sitios/php/Connections/db.php'); ?>
<?php
$colname_a = "-1";
if (isset($_GET['id'])) {
$colname_a = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_db, $db);
$query_a = sprintf("SELECT * FROM libros1 WHERE id = %s",
$colname_a);
$a = mysql_query($query_a, $db) or die(mysql_error());
$row_a = mysql_fetch_assoc($a);
$totalRows_a = mysql_num_rows($a);
?>

si en la linea

$query_a = sprintf("SELECT * FROM libros1 WHERE id = %s",

le cambio la expresion %s por un número id arbitrario que tengo en mi bd (por ej 2) devuelve en el resultado los regs que le corresponde a esa id, pero si necesito hacer una busqueda con otra id ya no me sirve, que podría corregir para realizar una búsqueda a cualquier otro registro?

gracias por sus observaciones.
  #2 (permalink)  
Antiguo 11/08/2006, 12:44
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Si ese campo es númerico, no es recomendable utilizar el % dentro de la misma. Para ese tipo de consultas es mejor utilizar >, <, o == para que te muestre datos reales.

El % más que todo se utiliza con literales y en combinación con LIKE.

Por favor lee este mensaje:
Función de la sección de Base de Datos

Saludos.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 11/08/2006, 14:07
 
Fecha de Ingreso: junio-2006
Mensajes: 41
Antigüedad: 17 años, 10 meses
Puntos: 0
ok le quito el %, entonces cual podria ser la mejor opcion que reemplace la linea

$query_a = sprintf("SELECT * FROM libros1 WHERE id = %s",

para leer un id numerico al hacer la consulta?
  #4 (permalink)  
Antiguo 11/08/2006, 17:43
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Seleccionar un libro en específico:
Código PHP:
SELECFROM libros1 WHERE id "valor" 
Seleccionar todos los libros mayores a un valor específico, SIN incluir el valor inicial:
Código PHP:
SELECFROM libros1 WHERE id "valor" 
Seleccionar todos los libros menores a un valor específico, SIN incluir el valor inicial:
Código PHP:
SELECFROM libros1 WHERE id "valor" 
Seleccionar todos los libros mayores o iguales a un valor específico:
Código PHP:
SELECFROM libros1 WHERE id "valor" or id "valor" 
Seleccionar todos los libros menores o iguales a un valor específico:
Código PHP:
SELECFROM libros1 WHERE id "valor" or id "valor" 
Seleccionar determinados libros:
Código PHP:
SELECFROM libros1 WHERE id IN ["valor1""valor2""valor3"
Te recomiendo visitar la página de MySQL y busques referencia sobre eso ya que son concepto básicos.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #5 (permalink)  
Antiguo 15/08/2006, 02:11
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
bueno en vez de utilizar el sprintf casi mejor que construyas la select con variable
$query_a = "SELECT * FROM libros1 WHERE id = " . $colname_a;
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:21.