Ayuda por favor, hasta el cinborrio del PHP5 y el Mysql

Como me estaba desesperando usar un hosting, me monte un developer server en casa, con PHP5 mysql4.1 y Apache.

El php funciona, el mysql funciona (tengo puesto el phpmyadmin) y el apache funciona.

Tengo un formulacio que llama a un php con funciones, y el la linea dos tengo un include.

El navegador me devuelve el siguiente error:

Warning: include(../prc_config.php) [function.include]: failed to open stream: No such file or directory in L:\apache\Apache2\htdocs\cine\admin\func_adm.php on line 2

Por ir probando cambie y quite el include e incluyo la siguientes lineas

[PHP]define('DB_HOST', 'localhost'); // Normalmente localhost
define('DB_NAME', 'admin_cine'); // Nombre de la db
define('DB_USER', 'admin_admin'); // Nombre del usuario
define('DB_PASSWORD', 'admin_ml1210'); // Password
$cdb = mysql_connect($DB_HOST, $DB_USER, $DB_PASSWORD) or die('Error: No se pudo conectar a la DB - ' . mysql_error());
$db = mysql_select_db(DB_NAME) or die('Error: La base de datos ' .DB_NAME. ' no existe.');[/PHP]

Al ejecutarlo todo de nuevo me devuelve lo siguiente

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO) in L:\apache\Apache2\htdocs\cine\admin\func_adm.php on line 7
Error: No se pudo conectar a la DB - Access denied for user 'ODBC'@'localhost' (using password: NO)

Pero bueno que tengo que hacer para que esto funcione, que me va a dar algo ya con el maldito PHP5

Un saludo y muchas gracias
Hombre pues el warning de mysql es bastante claro. Que estas intentando conectar a la base de datos con un usuario que requiere contraseña, y no se la estas pasando. De todos modos tienes una forma extraña de escribir el codigo. ¿Por qué no usas parentesis para las funciones y el símbolo de igual para las asignaciones. Todo queda mucho más claro.

¿Has garantizado los privilegios al usuario que quieres usar en la base de datos?
Dagaren escribió:Hombre pues el warning de mysql es bastante claro. Que estas intentando conectar a la base de datos con un usuario que requiere contraseña, y no se la estas pasando. De todos modos tienes una forma extraña de escribir el codigo. ¿Por qué no usas parentesis para las funciones y el símbolo de igual para las asignaciones. Todo queda mucho más claro.

¿Has garantizado los privilegios al usuario que quieres usar en la base de datos?


Uhy, no no, lo el codigo ha sido al encerrarlo en las etiquetas PHP del foro, pero lo hago de la forma tradicional.

He creado un usuario que se llama admin, con todos los permisos sobre la tabla admin_cine y con su password.

Yo creo que la cadena esta bien, no sé porque me dice lo de ODBC.

Tiene que ser algo que hago mal, pero no la cadena que esta es más generica que la cocacola del dia.

Y luego el include no sé porque falla, el caso es que tengo todo puesto en la unidad L y me da warnigs que busca cosas en C:/PHP5, puede ser eso? porque busca en C si lo tengo en L
Asegurate de que el usuario que quiere conectar a la base de datos puede hacerlo LOCALMENTE... es un poco trivial pero mas de una vez (sobre todo al principio) me he vuelto loco con ello.

Tambien tiene que tener permisos, etc.

En php5 no he probado, en php4 si querias conectar contra un mysql usando mysql_connect los usuarios debían tener definida su contraseña con OLD_PASSWORD. Prueba a definir en la base de datos la contraseña del usuario con OLD_PASSWORD (si buscas un pelín en la documentación de mysql te viene como hacerlo)

Yo ahora para trastear con bases de datos me pasé a adodb... cuestión de costumbres.
3 respuestas