Foros del Web » Programando para Internet » PHP »

error lectura bbdd

Estas en el tema de error lectura bbdd en el foro de PHP en Foros del Web. Buenas, no sé que pasa porque en todos los sitios lo hago igual. Éstoy leyendo de bbdd y cogiendo el valor de 2 campos de ...
  #1 (permalink)  
Antiguo 09/05/2012, 06:49
Avatar de interjsr  
Fecha de Ingreso: octubre-2011
Ubicación: Madrid
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 2
error lectura bbdd

Buenas, no sé que pasa porque en todos los sitios lo hago igual. Éstoy leyendo de bbdd y cogiendo el valor de 2 campos de 1 tabla.

//selecciono servidor
$conn = mysql_connect("localhost","root","vertrigo");
//selecciono la BBDD

mysql_select_db("Duendes",$conn);

//sql
$sql = "SELECT * usuarios WHERE Id_Usuario = '$Id'";

//Ejecuto la sentencia
$rs = mysql_query($sql,$conn);

//Si hay rows o registros
if ($row = mysql_fetch_row($rs)){

me cojo los datos
$bbdd_Usuario= $row[2];
$bbdd_Clave= $row[3];
}

Me da el siguiente error en la condional

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\VertrigoServ\www\......\formulario.php on line 20
  #2 (permalink)  
Antiguo 09/05/2012, 07:27
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 13 años
Puntos: 160
Respuesta: error lectura bbdd

porque no se evalua el mysql_fetch_row(), eso se recorre, por eso el warning (que no es un error) te dice que esta esperando algo del tipo boolean, y vos le estas pasando algo del tipo recurso, para hacer lo que necesitas tenes que hacer lo siguiente:

Código PHP:
Ver original
  1. //Si hay rows o registros
  2. if (mysql_num_rows($rs) > 0) {
  3.     while($row = mysql_fetch_row($rs)) {
  4.          //me cojo los datos
  5.          $bbdd_Usuario= $row[2];
  6.          $bbdd_Clave= $row[3];
  7.     }
  8. }
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 09/05/2012, 07:37
Avatar de interjsr  
Fecha de Ingreso: octubre-2011
Ubicación: Madrid
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 2
Respuesta: error lectura bbdd

Pero yo no evaluo el mysql_fetch_row, evaluo la asignacion $row = mysql_fetch_row
que dará true si hay registros o false si no hay registrops. Creo yo.
  #4 (permalink)  
Antiguo 09/05/2012, 07:47
Avatar de interjsr  
Fecha de Ingreso: octubre-2011
Ubicación: Madrid
Mensajes: 81
Antigüedad: 13 años, 1 mes
Puntos: 2
Respuesta: error lectura bbdd

buahhhh,
Pues ahora me da error lo tuyo también

$sql = "SELECT * usuarios WHERE Id_Usuario = '$Id'";
//Ejecuto la sentencia
$rs = mysql_query($sql,$conn);

if (mysql_num_rows($rs) > 0) {
while($row = mysql_fetch_row($rs)) {
$bbdd_Usuario= $row[2];
$bbdd_Clave= $row[3];
}
}

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\Program Files (x86)\VertrigoServ\www\DUENDES_IE\HTML\.......\for mulario.php on line 22
  #5 (permalink)  
Antiguo 09/05/2012, 07:50
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 13 años
Puntos: 160
Respuesta: error lectura bbdd

Cita:
Pero yo no evaluo el mysql_fetch_row, evaluo la asignacion $row = mysql_fetch_row
que dará true si hay registros o false si no hay registrops. Creo yo.
Asi no evaluas si hay registros, lo evaluas como te especifique yo, ahi estas evaluando si $row existe :S entendes?

Escribi la consulta asi;

Código PHP:
Ver original
  1. $sql = "SELECT * usuarios WHERE Id_Usuario = " . $Id;

y mas te vale que $Id exista en algun lado antes del codigo porque sino la consulta te devuelve NADA y seguramente te este fallando
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com

Última edición por linuxzero; 09/05/2012 a las 07:57
  #6 (permalink)  
Antiguo 09/05/2012, 08:09
 
Fecha de Ingreso: marzo-2012
Ubicación: Republica Dominicana
Mensajes: 51
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: error lectura bbdd

$rs=mysql_query(SELECT * FROM usuarios where lo que deseas);
Código PHP:
Ver original
  1. if(mysql_num_rows($rs)!=0){
  2. while($row=mysql_fetch_array($rs)){
  3. echo $row['nombre del campo'];
  4. echo $row['nombre del otro campo'];
  5. }
  6.  
  7. }

Etiquetas: bbdd, formulario, lectura, mysql, registro, sql, tabla, usuarios
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 12:13.