Foros del Web » Programando para Internet » PHP »

Ayuda con conexion a base de datos

Estas en el tema de Ayuda con conexion a base de datos en el foro de PHP en Foros del Web. Hola estoy tratand de apreder php y mySQL, he venido practicando codigos y lo estoy conprendiendo bien, pero el siguiente codigo no me funciona: <?php ...
  #1 (permalink)  
Antiguo 01/01/2011, 14:18
 
Fecha de Ingreso: junio-2008
Mensajes: 9
Antigüedad: 15 años, 10 meses
Puntos: 0
Ayuda con conexion a base de datos

Hola estoy tratand de apreder php y mySQL, he venido practicando codigos y lo estoy conprendiendo bien, pero el siguiente codigo no me funciona:


<?php
echo "<p align=center>";
echo "A continuación se muestra el resultado de seleccionar todos los registros de las tablas nombre y apellidos.";
$host = "127.0.0.1";
$usuario = "root"; // Cambiar por su nombre de usuario.
$password = "domitila"; // Cambiar por su password.
$conectar = mysql_connect ($host, $usuario, $password);
mysql_select_db ("empresa", $conectar);
$consulta = "SELECT nombre, apellidos FROM clientes";
$query = mysql_query ($consulta, $conectar);
echo "<table align=center border=1 bgcolor=#6B6BFF cellspacing=5>";
while ($reg = mysql_fetch_row($query)){
echo "<tr>";
echo "<br>";
foreach($reg as $cambia){
echo "<td>",$cambia,"</td>";
}
}
echo "</table>";
?>

Cuando lo ejecuto, el navegador me informa lo siguiente:

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\isidro\consulta.php on line 13

He analizado bien el caso y no veo por ningun lado el error.

Quisiera que alguien me explique qué será lo que estaré olvidando, o qué error estaré cometiendo

Gracias por adelantado.
  #2 (permalink)  
Antiguo 01/01/2011, 15:28
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Ayuda con conexion a base de datos

Hola.

Esto va en el foro de php cuando tengas problemas con alguna consulta, o algo referento solo a bd ahora si postea aqui.

Tu error dice:
Cita:
Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in
esperaba un parametro resource y que recibio boolean en su lugar

php dice para mysql_fetch_row():
Cita:
Valores devueltos

Devuelve un array numérico que corresponde a la fila recuperada, o FALSE si no quedan más filas.
Fuente:
http://mx.php.net/manual/es/function...-fetch-row.php

yo te recomuendo que uses mysql_fetch_array()

Suerte.
  #3 (permalink)  
Antiguo 01/01/2011, 17:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda con conexion a base de datos

Hay un problema en la consulta, por eso mysql_query() está devolviendo un boolean en lugar del recurso. Usa mysql_error para ver cuál es el problema.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 02/01/2011, 00:20
Avatar de iwexcoder  
Fecha de Ingreso: mayo-2009
Ubicación: San Carlos de Bariloche
Mensajes: 404
Antigüedad: 14 años, 11 meses
Puntos: 16
Respuesta: Ayuda con conexion a base de datos

Esta mal usado mysql_fetch_row y el foreach....

Usas mysql_fetch_row para devolver los resultados de una fila en un array numérico, que luego solo necesitas hacer un echo a algún indice del array para imprimir su valor...

El problema en tu código es que en tu consulta a la base de datos, tu estas seleccionando "nombre" y "apellido", y luego para imprimir sus valores tu código hace un foreach

Código PHP:
Ver original
  1. foreach($reg as $cambia){
  2. echo "<td>",$cambia,"</td>";
  3. }

yo te pregunto.... cual es el valor de $reg? y de $cambia?...recuerda que acá imprimirás dos valores, "nombre" y "apellido"..., y en este código, estas metiendo nombre y apellido en $reg...mal...

Si quieres usar mysql_fetch_row tendrias que usarlo asi:

Código PHP:
Ver original
  1. $sql = "SELECT nombre, apellido FROM clientes";
  2.      $resp = mysql_feth_row($sql);
  3.      $nombre= $resp[0];
  4.      $apellido = $resp[1];

Por otro lado, antes de usar mysql_fetch_row, yo te recomiendo el uso de mysql_fetch_array, que es lo mas usado generalmente para imprimir resultados de una consuta a la base de datos
__________________
iWexCoder.com - Programación - Desarrollo Movil - Programación Web www.iwexcoder.com

Etiquetas: conexion
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 06:32.