Foros del Web » Programando para Internet » PHP »

Apache 2.2 + PHP 5 + MySQL Server 5.0

Estas en el tema de Apache 2.2 + PHP 5 + MySQL Server 5.0 en el foro de PHP en Foros del Web. Hola, tengo Apache 2.2, PHP 5 y MySQL Server 5.0 y quiero hacer una sencilla aplicación web en la que cuando enviemos datos de un ...
  #1 (permalink)  
Antiguo 23/10/2008, 14:41
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Apache 2.2 + PHP 5 + MySQL Server 5.0

Hola, tengo Apache 2.2, PHP 5 y MySQL Server 5.0 y quiero hacer una sencilla aplicación web en la que cuando enviemos datos de un formulario se guarden en una tabla de una base de datos que esté en el servidor MySQL.

He empezado con algo sencillito:

Código PHP:
<html> 
<body> 
<?php 
$myvar 
"Hola Mundo. Este es mi primer script en PHP"
//Esto es un comentario 
echo $myvar
?> 
</body> 
</html>
Lo he guardado como Hola_Mundo.php en la carpeta htdocs de Apache y lo muestra correctamente al poner 127.0.0.1/Hola_Mundo.php en la barra de direcciones del explorador web.

Después he hecho esto:

Código PHP:
<html> 
<body> 
  
<?php 
if (!($link=mysql_connect("localhost","root","1234")))
   {echo 
"Error conectando a la base de datos.";
    exit();}
   if (!
mysql_select_db("bbdd",$link))
   {echo 
"Error seleccionando la base de datos.";
    exit();}
   return 
$link
?> 
  
</body> 
</html>
Lo he guardado como Conexion.php en la carpeta htdocs de Apache. Tengo la base de datos y la tabla correspondiente creada pero al poner 127.0.0.1/Conexion.php en la barra de direcciones del explorador web no sale nada.

Obviamente los servidores tanto el Apache 2.2 como el servidor MySQL Server 5.0 están corriendo.

¿Qué hago mal?

Última edición por letni; 23/10/2008 a las 15:03
  #2 (permalink)  
Antiguo 23/10/2008, 14:53
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Apache 2.2 + PHP 5 + MySQL Server 5.0

Por lo que veo está bien que no salga nada (aunque hay un error que ahora te pongo debajo), lo haría si no conectara y al parecer conecta bien. Ahora lo que tenes que hacer es leer, guardar o modificar datos de alguna tabla. Ya tenes creadas tablas en la db "bbdd"?

Si es así contanos como son (sus nombres y que campos tienen) y que queres haces en o con ellas.


Edit:

Código PHP:
<?php 
if ( ! $link mysql_connect('localhost','root','1234') ) exit( 'Error conectando a la base de datos.' );
if ( ! 
mysql_select_db('bbdd',$link) ) exit( 'Error seleccionando la base de datos.' );

#El return estaba de más, acá ya estás preparado para arrancar con las consultas que necesites
?>
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 23/10/2008, 15:03
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Apache 2.2 + PHP 5 + MySQL Server 5.0

Cita:
Iniciado por nicolaspar Ver Mensaje
Ya tenes creadas tablas en la db "bbdd"?

Si es así contanos como son (sus nombres y que campos tienen) y que queres haces en o con ellas.
Sí, ya tengo creadas las tablas en la base de datos bbdd, tengo una tabla llamada Producto, con los campos Codigo y Descripcion, de momento lo que quiero hacer con esa tabla es consultar su contenido.

PD: Tanto si el servidor MySQL está corriendo como si no la ventana del explorador se queda en blanco. :(

Última edición por letni; 23/10/2008 a las 15:14
  #4 (permalink)  
Antiguo 23/10/2008, 16:24
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Apache 2.2 + PHP 5 + MySQL Server 5.0

Proba con esto:

Código PHP:
<?
if ( ! $link mysql_connect('localhost','root','1234') ) exit( 'Error conectando a la base de datos.' );
if ( ! 
mysql_select_db('bbdd',$link) ) exit( 'Error seleccionando la base de datos.' );

$sql "
Select 
    codigo, descripcion
from 
    producto
"
#Variable que contiene el sql
$r mysql_query$sql ); #Ejecuto el sql
while( $rs mysql_fetch_assoc$r ) ){ #Creo una iteración sobre el mismo creando en rs un array asociativo?>
    Codigo: <?=$rs['codigo'];?><br />
    Descripcion: <?=$rs['descripcion'];?><br />
    <hr />
<? 
mysql_free_result($r); #Cuando no usamos mas el puntero lo limpiamos de memoria
mysql_close(); #Solo al terminar de usar la conexion
?>


Está sin testear, si hay algún error avisá. Por otro lado puse las tablas y campos en minuscula, tené cuidado por que es case sensitive, aunuqe si tabajas sobre win no así para las tablas. Cambiá eso (en lo posible de la db), siempre es conveniente comenzar con minusculas todo, es más, un detalle que no afecta, pero la tabla debería llamarse productos y no producto, ya que tendrá varios y no solo uno (supongo).

Saludos.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #5 (permalink)  
Antiguo 23/10/2008, 16:50
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Apache 2.2 + PHP 5 + MySQL Server 5.0

He mirado en C:\Archivos de programa\Apache Software Foundation\Apache2.2\logs\error.log y he visto el error, es por esto:

Fatal error: Call to undefined function mysql_connect() in C:\\Archivos de programa\\Apache Software Foundation\\Apache2.2\\htdocs\\conexion.php on line 3

¿Cómo lo soluciono?

Última edición por letni; 23/10/2008 a las 17:03
  #6 (permalink)  
Antiguo 23/10/2008, 17:48
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Apache 2.2 + PHP 5 + MySQL Server 5.0

Hay que instalar las librerías mysql, de oído si mal no recuerdo creo tenes que:

1- Mover php_xx.dll, libmysql.dll y mysql.dll a WINDOWS (no recuedo si no era a System32, googleá por las duadas esta info)
2- Abrir el php.ini para saber donde esta hacete un <? phpinfo() ?> busca en este archivo mysqli.dll, sacale el punto y coma de adelante.
3- Por las dudas reinicia apache, dale F5 al archivo php donde pusiste el phpinfo(), deberías ver mysql instalda.

PD: Tenés, por lo que veo, php inifigurar un poco el php.ini, por ejemplo con los errores (así los ves en pantalla), busca y deja estas directivas así:

error_reporting = E_ALL;
display_errors = on



(fijate, por ahí queres dejarlo como estaba, por las dudas siempre un backup antes de tocarlo te puede solucionar el problema)

PD2: Otro problema si no te funciona es que esté mal configurada la directiva extension_dir (tiene que apuntar al dir donde estan las dll, php/ext generalmente).

Saludos
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #7 (permalink)  
Antiguo 23/10/2008, 18:03
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Apache 2.2 + PHP 5 + MySQL Server 5.0

Lo solucioné usando el Zip Package de PHP y no el installer.

Gracias.
  #8 (permalink)  
Antiguo 23/10/2008, 18:06
 
Fecha de Ingreso: septiembre-2008
Mensajes: 152
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Apache 2.2 + PHP 5 + MySQL Server 5.0

Hola letni lo que dice nicolaspar es cierto, aunque yo creo que si estas empezando en PHP lo mas convenientes es que te descargues el appserv es un instalador que automaticamente te instalar el apache, el php 5 y el mysql y ya viene bien configurado para que puedas hacer lo que nicolaspar te comento solo googlea y lo encontraras
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 10:28.