Foros del Web » Programando para Internet » PHP »

PHP no se conecta con MySQL

Estas en el tema de PHP no se conecta con MySQL en el foro de PHP en Foros del Web. Estoy tratando de conectarme mediante mysql_connect() a mi base MySQL y no lo logro, probe habilitar las extensiones del php.ini y escribir la ruta de ...
  #1 (permalink)  
Antiguo 16/12/2005, 08:21
Avatar de Juanmax  
Fecha de Ingreso: diciembre-2005
Ubicación: Paraná, Entre Ríos , Argentina
Mensajes: 90
Antigüedad: 12 años
Puntos: 0
Pregunta PHP no se conecta con MySQL

Estoy tratando de conectarme mediante mysql_connect() a mi base MySQL y no lo logro, probe habilitar las extensiones del php.ini y escribir la ruta de las extensiones pero Apache me tira errores de "unable to load"

Qué podría estar ocurriendo, gracias.
  #2 (permalink)  
Antiguo 16/12/2005, 08:33
Avatar de lily_cv  
Fecha de Ingreso: noviembre-2005
Mensajes: 165
Antigüedad: 12 años
Puntos: 0
eso significa que no es posible cargar tu mysql, algo anduvo mal en tu instalacion, vuelve a instalar tu mysql
  #3 (permalink)  
Antiguo 16/12/2005, 08:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Podrías indicar que versión de PHP usas y que versión de Mysql pretendes instalar ..

Si usas PHP 4 o 5 y Mysql 4.0.x .. puedes guiarte de este tutorial:

http://www.maestrosdelweb.com/editorial/phpmysqlap/

Si usas Mysql 4.1.x o 5.x . .avisa para busar algún otro tutorial al respecto. También ayudaría que configuración tocastes y como te quedó con el mensaje de error -completo- que obtienes.

Un saludo,
  #4 (permalink)  
Antiguo 16/12/2005, 09:12
Avatar de Juanmax  
Fecha de Ingreso: diciembre-2005
Ubicación: Paraná, Entre Ríos , Argentina
Mensajes: 90
Antigüedad: 12 años
Puntos: 0
El mensaje de error de Apache es:

Unknown(): unable to load dinamic library 'c:\php\extensions\php_mssql.dll' - No se puede encontrar el módulo especificado.

Ya reinstale MySQL y no funcionó.

La versión de PHP es 4.4.1 MySQL 5.0.16 y Apache 1.3.34
  #5 (permalink)  
Antiguo 16/12/2005, 09:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La extensión php_mssql.dll no es de "Mysql" sino de MS SQL server .. Tu vas a usar o conectarte a MS SQL Server? ..

Para Mysql deberías activar php_mysqli.dll (creo que esto sólo está en PHP 5.x .. revisalo) y php_mysql.dll .. (además de otras cosas que voy a ver si encuentro algún tutorial más detallado). Esto es así por qué Mysql 5 usa sus "clientes" própios si quieres sacarle partido al tema .. sino tendrás que usar los "clientes" viejos de Mysql (y que no sé como funcionaran para Mysql 5).

Pregunta:
Realmente vas a usar Mysql 5.x y todas las funcionalidades que este incorpora? .. Tus desarrollos donde van a quedar para ejecutarse? .. Ten presente que no todo servicio de hosting por ejemplo usa Mysql 5.x (con suerte Mysql 4.0.x o 4.1.x) .. Ojo con esto.


Un saludo,
  #6 (permalink)  
Antiguo 16/12/2005, 09:36
Avatar de Juanmax  
Fecha de Ingreso: diciembre-2005
Ubicación: Paraná, Entre Ríos , Argentina
Mensajes: 90
Antigüedad: 12 años
Puntos: 0
No, estoy utilizando MySQL lo que sucedes es que un un tutorial sugerian quitar los dos comentarios del php.ini el de msql y el de mssql.
Esta es la configuración que me quedó en el php ini:

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
include_path = ".;C:AppServphpextensions"

...

; Directory in which the loadable extensions (modules) reside.
extension_dir="c:\php\extensions\"

...
;extension=php_mime_magic.dll
;extension=php_ming.dll
extension=php_mssql.dll
extension=php_msql.dll
;extension=php_oci8.dll
;extension=
...

PERDON QUE LA HICE TAN LARGA, gracias
  #7 (permalink)  
Antiguo 16/12/2005, 09:39
Avatar de Juanmax  
Fecha de Ingreso: diciembre-2005
Ubicación: Paraná, Entre Ríos , Argentina
Mensajes: 90
Antigüedad: 12 años
Puntos: 0
Respecto a tu pregunta:
Estoy desarrollando un sistema web para un colegio que administre la parte académica y de administración, la idea es mandar despues el desarrollo a un servidor que en principio funcionara intranet y despues pienso sacarlo a la web.

un abrazo
  #8 (permalink)  
Antiguo 16/12/2005, 09:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
No, estoy utilizando MySQL lo que sucedes es que un un tutorial sugerian quitar los dos comentarios del php.ini el de msql y el de mssql.
Pero .. supongo que algún argumento diría al respecto .. por ejemplo que "si quiere usar MS SQL server .. habilite tal extensión" . .además, muchas extensiones de PHP no se trata sólo de quitar el ";" (comentario) para habilitarlo sino que algunas de ellas requiere de más cosas como "librerías" (para el caso en windows: más .dll) própios de estas . .como "clientes" (para el caso de MS SQL Server .. ), etc.

Hasta que no sepas que hacen cada "php_xxx.dll" y que puedan requerir extra .. simplemente dejalo como php.ini define por defecto .. cuando te haga falta, estudia que se requiere para habilitar tal o cual extensión.

Pon el ; nuevamente a extension=php_mssql.dll y continuamos con el problema de "Mysql" concreto que puedas tener.

Un saludo,
  #9 (permalink)  
Antiguo 16/12/2005, 09:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Juanmax
Respecto a tu pregunta:
Estoy desarrollando un sistema web para un colegio que administre la parte académica y de administración, la idea es mandar despues el desarrollo a un servidor que en principio funcionara intranet y despues pienso sacarlo a la web.

un abrazo
En ese caso .. con más razón (por el "sacarlo a la web" donde supongo que ahí usaras un servicio de Hosting para alvergar y correr tu aplicación) debes ver que es lo que el "mercado" actualmente te ofrece en cuanto a versiones de PHP, de Mysql .. sobre todo .. sino, vas hacer desarrollos para versiones más avanzadas de lo que luego encontraras en el mercado y tendrás muchos problemas: tanto para encontrar uno que use las versiones de lo que tu usastes como incluso (o en su defecto) modificar tu código (SQL y PHP) para adaptarte.

Recomendación:

Instala Mysql 4.1.x o incluso Mysql 4.0.x .. Si ya tienes pensado donde quedará si lo subes a la "web" (que servicio de hosting usaras) .. consulta que versiones de Mysql usan (y de PHP también .. no todos usan por ejemplo PHP 5.x siguen con la série 4.x)

Un saludo,
  #10 (permalink)  
Antiguo 16/12/2005, 12:26
Avatar de Juanmax  
Fecha de Ingreso: diciembre-2005
Ubicación: Paraná, Entre Ríos , Argentina
Mensajes: 90
Antigüedad: 12 años
Puntos: 0
Bueno estimado, voy a instalar MySQL 4.1 y veo que sucede con mis scripts que estan nerviosos por funcionar.
  #11 (permalink)  
Antiguo 16/12/2005, 12:53
Avatar de Juanmax  
Fecha de Ingreso: diciembre-2005
Ubicación: Paraná, Entre Ríos , Argentina
Mensajes: 90
Antigüedad: 12 años
Puntos: 0
Bueno, ya tengo MySQL 4.1. Probe el script y obtuve el mismo resultado. Me dal el error de conexión de la sentencia mysql_connect() or die ("XXX")

$link = mysql_connect($servidor, $usuario, $pass) ;
mysql_select_db($basedatos, $link) or die("¡¡FALLO LA CONEXIÓN MYSQL!!");
//mysql_query($basedatos,$consulta) or die("¡¡FALLO LA CONSULTA!!");
  #12 (permalink)  
Antiguo 16/12/2005, 14:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En el "or die()" usa:

Código PHP:
$link mysql_connect($servidor$usuario$pass) or die (mysql_error());
mysql_select_db($basedatos$link) or die(mysql_error());
mysql_query($basedatos,$consulta) or die(mysql_error()); 
Así veras el error de SQL o conexión más concreto que tienes ..

De hecho .. ya tienes un error:

no es:
mysql_query($basedatos,$consulta) or die(mysql_error());

sino:
mysql_query($consulta,$link) or die(mysql_error());

La base de datos la seleccionas con mysql_select_db() .. pero no se hace mención a esta nunca más en tu código .. para eso el "$link" es el que contiene la información de que conexión estás usando para esas ejecuciones de mysql_query() ...

Pero supongo que el error principal será algo tipo:
Cita:
Client does not support authentication protocol requested
by server; consider upgrading MySQL client
http://dev.mysql.com/doc/refman/4.1/en/old-client.html

Un saludo,
  #13 (permalink)  
Antiguo 16/12/2005, 14:28
Avatar de Juanmax  
Fecha de Ingreso: diciembre-2005
Ubicación: Paraná, Entre Ríos , Argentina
Mensajes: 90
Antigüedad: 12 años
Puntos: 0
Exacto

Exactamente ese es el error:

Client does not support authentication protocol requested by server; consider upgrading MySQL client

así me quedó el código despues de la corrección:

$link = mysql_connect($servidor, $usuario, $pass);
if (!$link) {
die(mysql_error());
}
mysql_query($consulta,$link) or die(mysql_error());
  #14 (permalink)  
Antiguo 16/12/2005, 14:29
Avatar de Juanmax  
Fecha de Ingreso: diciembre-2005
Ubicación: Paraná, Entre Ríos , Argentina
Mensajes: 90
Antigüedad: 12 años
Puntos: 0
cuál será el problema con la conexión??
  #15 (permalink)  
Antiguo 16/12/2005, 14:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Leistes el link hacia la documentación oficial de Mysql que te dejé en mi anterior mensaje?. Ahí tienes la solución.

Lo que sucede es que las versiones de Mysql 4.1.x o superior usan un nuevo manejo de usuarios (de Mysql) y concretamente sobre la contraseña de los mismos .. Para solventar el problema .. se propone a cambiar las contraseñas de los usuarios de Mysql creados al "viejo" estilo del anterior cliente de Mysql.

Un saludo,
  #16 (permalink)  
Antiguo 16/12/2005, 17:26
Avatar de Juanmax  
Fecha de Ingreso: diciembre-2005
Ubicación: Paraná, Entre Ríos , Argentina
Mensajes: 90
Antigüedad: 12 años
Puntos: 0
OK, voy a intentar la solución.

Que quiere decir con que cuando conecte con el server con el 'pre-4.1' que use una cuenta con el estilo viejo??

Perdon por mi ignorancia,
Desde ya muchísimas gracias.

JUANMAX
  #17 (permalink)  
Antiguo 17/12/2005, 07:25
Avatar de Juanmax  
Fecha de Ingreso: diciembre-2005
Ubicación: Paraná, Entre Ríos , Argentina
Mensajes: 90
Antigüedad: 12 años
Puntos: 0
ESTIMADO CLUSTER

TODO ESTA FUNCIONANDO CORRECTAMENTE !!. Estoy muy agradecido del foro por acercarme la solución. Un abrazo.
  #18 (permalink)  
Antiguo 17/12/2005, 18:00
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 12 años, 10 meses
Puntos: 11
de nada....................
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 03:36.