Foros del Web » Programando para Internet » PHP »

Conexion basica

Estas en el tema de Conexion basica en el foro de PHP en Foros del Web. Hola gente del foro, estoy empezando con PHP y estoy probando un código de una conexión básica a una BD MySQL. El problema que tengo ...
  #1 (permalink)  
Antiguo 30/10/2005, 15:41
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 12 años, 7 meses
Puntos: 1
Conexion basica

Hola gente del foro, estoy empezando con PHP y estoy probando un código de una conexión básica a una BD MySQL. El problema que tengo es que ese código no me muestra nada (ni algún error, ni el campo de la BD que le pido que muestre) el código es el siguiente:

Código PHP:
<? $sserver="localhost"
$suser="usuario"
$spassword=""
$sdb="test"
$ilink=mysql_connect($sserver,$suser,$spassword) or die("RIP"); 
mysql_select_db($sdb,$ilink); 
$squery="SELECT * FROM `tabla` WHERE 1"
$iquery=mysql_query($squery,$ilink); 
if (
$iquery>0) { 
   
$irow=0
   
$ilastrow=mysql_num_rows($iquery); 
   
$row['nombre'];
   } 
?>
Alguien me podría ayudar??? Muchas Gracias
  #2 (permalink)  
Antiguo 30/10/2005, 16:00
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 13 años, 7 meses
Puntos: 0
A primera vista:

$squery="SELECT * FROM `tabla` WHERE 1";

No es correcto. Sobran las comas de tabla y a WHERE le faltaría un argumento
Vhere $variable=1
  #3 (permalink)  
Antiguo 30/10/2005, 16:08
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 12 años, 7 meses
Puntos: 1
javifo, ya corregi lo que me marcaste, pero sigo sin tener ningún resultado ni para bien ni para mal, sigue sin tirarme ningún error pero tampoco me muestra nada.... la verdad que no entiendo por qué ????
  #4 (permalink)  
Antiguo 30/10/2005, 16:14
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 13 años, 7 meses
Puntos: 0
Puedes tener un problema muy simple.
¿Has puesto aquí todo el código?
Porque si está todo, faltaría que dieras la instrucción para que te imprima los resultados.
En definitiva: echo ".....lo que quieras mostrar";
  #5 (permalink)  
Antiguo 30/10/2005, 16:31
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 12 años, 7 meses
Puntos: 1
A debe de ser eso entonces, yo pense que con esto lo mostraba :

$row['apellido'];

Bueno voy a investigar como funcina eso del echo.... ahora si yo por ejemplo quisiera mostrar el campo apellido como seria???

Muchas Gracias por tu ayuda
  #6 (permalink)  
Antiguo 30/10/2005, 16:41
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 13 años, 7 meses
Puntos: 0
echo $row['apellido'];
  #7 (permalink)  
Antiguo 30/10/2005, 22:09
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por javifo
$squery="SELECT * FROM `tabla` WHERE 1";

No es correcto. Sobran las comas de tabla y a WHERE le faltaría un argumento
Vhere $variable=1
Falso: la sentencia es totalmente válida.

¿De dónde sacaste ese código?, ¿qué se pretende con:
Código PHP:
if ($iquery>0) {
   
$irow=0;
   
$ilastrow=mysql_num_rows($iquery);
   
$row['nombre'];
   } 
???
- La condicional if()... no es adecuada (en todo caso valua si es TRUE ó FALSE).
- Tienes $irow que no tiene ningúna función.
- Técnicamente esta de sobra la función mysql_num_rows(); lo mismo, tienes $ilastrow que no ocupas para nada... y el nombre de la variable sugiere estás empleando mal la función (consultala en www.php.net).
- Como ya te dijeron, no tienes ninguna salida al navegador (falta el echo)
- Antes de poder imprimir, necesitas accesar a los datos recuperados con alguna función mysql_fetch_xxxx(). No tienes nada asignado a $row... $iquery es solo un resourse...

Prueba esto:
Código PHP:
<? $sserver="localhost";
$suser="usuario";
$spassword="";
$sdb="test";
$ilink=mysql_connect($sserver,$suser,$spassword) or die("RIP");
mysql_select_db($sdb,$ilink);
$squery="SELECT * FROM `tabla` WHERE 1";
$iquery=mysql_query($squery,$ilink);

$rowmysql_fetch_array($iquery); // recuperas información y la asignas a $row
echo $row['apellido']; // imprimes
?>
Eso te imprimirìa solo el primer resultado... si quisieras imprimir todos tendrìas que meter el proceso de asignación dentro de un ciclo (usualmente while()):
Código PHP:
while($rowmysql_fetch_array($iquery))
     echo 
$row['apellido']; 
Te sugiero consultes las FAQ, al menos hay una que introduce a el cómo se debe trabajar con una BD (MySQL en este caso).

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 31/10/2005, 00:33
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 13 años, 7 meses
Puntos: 0
Hola.

Ho sabía que podía usarse WHERE para seleccionar todos los campos de una tabla que tuviesen un valor determinado.
Código PHP:
`tabla
A mí me parece que este tipo de comas pueden dar problemas. De hecho lo leí en un manual que aconsejaba usar el bloc de notas para programar, pero nunca el word, por ejemplo, precisamente por lo de las comas. Realmente, la expresión parece bastente distinta a esta
Código PHP:
'tabla' 
Saludos
  #9 (permalink)  
Antiguo 31/10/2005, 06:06
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 12 años, 7 meses
Puntos: 1
Hola Jam1138, el código ese que puse en el ejemplo lo saque de las FAQs de bases de datos... ahora voy a intentar con el que me pasastes vos... Gracias
  #10 (permalink)  
Antiguo 31/10/2005, 06:09
 
Fecha de Ingreso: abril-2005
Mensajes: 182
Antigüedad: 12 años, 7 meses
Puntos: 1
ya probe este código:

Código PHP:
<? $sserver="localhost";
$suser="pintador562";
$spassword="";
$sdb="test";
$ilink=mysql_connect($sserver,$suser,$spassword) or die("RIP");
mysql_select_db($sdb,$ilink);
$squery="SELECT * FROM tabla";
$iquery=mysql_query($squery,$ilink);

$rowmysql_fetch_array($iquery); // recuperas información y la asignas a $row
echo $row['apellido']; // imprimes

?>
Funciona perfecto.... Muchas Gracias!!!!
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 13:32.