Foros del Web » Programando para Internet » PHP »

Conectar PHP con mdb Access

Estas en el tema de Conectar PHP con mdb Access en el foro de PHP en Foros del Web. Hola Gente, bueno como dice el titulo del post, estoy teniendo graves problemas para conectar PHP con una db hecha Access 2007, trabajando siempre localmente. ...
  #1 (permalink)  
Antiguo 16/12/2009, 18:54
 
Fecha de Ingreso: diciembre-2009
Mensajes: 12
Antigüedad: 14 años, 4 meses
Puntos: 0
Pregunta Conectar PHP con mdb Access

Hola Gente, bueno como dice el titulo del post, estoy teniendo graves problemas para conectar PHP con una db hecha Access 2007, trabajando siempre localmente.

Estoy corriendo el XAMPP en mi Windows Vista Ultimate 64bit. No soy demasiado entendido en PHP pero bueno me toco realizar esto, el trabajo esta echo con un programa mas orientado a objetos el dbQwickSite v5. el cual incluye para probar localmente las paginas, siempre dentro de el mismo, en el cual funciona sin problemas, pero acá viene la cuestión; cuando intento hacerlo por fuera del programa ya con todo el código compilado etc. no puedo conectar con la mdb. Estuve probando de todo, intentando modificar para hacer vía DSN o por DSN Less y sigo sin poder conectar a la base.

Este es la cadena de coneccion que supuestamente me conecta con la mdb :

-----------------------------------------------------------------------------------------------------
<?php
$dsn = "C:\Users\Yo\Documents\Planilla.mdb";
$user = "";
$passwd = "";
$conn = @odbc_connect($dsn,$user,$passwd);
$link = $conn;
if(!$conn) {
print "Could not connect to database using DSN [C:\Users\Yo\Documents\Planilla.mdb]<br><br>Message(s):<br>" . odbc_error() . " - " . odbc_errormsg() . "<br>";
exit ;
}
?>

-----------------------------------------------------------------------------------------------------

Ya probé con tema de permisos, ejecutando todo como Administrador, dando todos los privilegios a la base; estuve leyendo algo en el foro también probando muchas de sus recomendaciones pero nada. Lo máximo que logre conseguir fue lograr hacer que me aparezca la pagina de logueo de los Users pero después de eso ya, error con la bese, no me muestra la planilla que deberia.

Bueno gente espero no torturarlos con esto, hace como un mes que estoy luchando con esto y ya no se mas que hacer, así que si alguien puede darme una manito le estaría desde ya muy agradecido.

Muchas Gracias.
  #2 (permalink)  
Antiguo 16/12/2009, 19:35
Avatar de CdG
CdG
 
Fecha de Ingreso: marzo-2008
Mensajes: 114
Antigüedad: 16 años, 2 meses
Puntos: 2
Respuesta: Conectar PHP con mdb Access

a ver si esto te sirve...

Código PHP:
<?php
$dbq 
'C:\\Users\\Yo\\Documents\\Planilla.mdb';
$conn odbc_connect("DRIVER={Microsoft Access DRIVER (*.mdb)}; dbq=$dbq""username""password") or die ("no se puede conectar a la base de datos");
  #3 (permalink)  
Antiguo 16/12/2009, 19:52
 
Fecha de Ingreso: diciembre-2009
Mensajes: 12
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Conectar PHP con mdb Access

Muchas Gracias CdG, logre conectar.

Ahora a ver porque motivo me carga la planilla con datos ilegibles.

tenes idea que significa esto:

-----------------------------------------------------------
Deprecated: Function split() is deprecated
-----------------------------------------------------------

Me llena la mitad de la pagina con eso no entiendo que es, y al final me muestra los campos con algunos datos.

Sera algo en la generación del código? Por ejemplo los campos texto me los trae bien y los campos Fecha/Hora en blanco.

Bueno ya hice un avance por lo menos. Y Muchas Gracias CdG me sirvió de mucho tu ayuda.
  #4 (permalink)  
Antiguo 16/12/2009, 20:20
 
Fecha de Ingreso: diciembre-2009
Mensajes: 12
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Conectar PHP con mdb Access

Encontré el problema, si bien a travez de la lineas que me diste logro conectar a la db, volvi a revisar con el programa, al hacerlo por "DSN less" me trae la base con errores porque en las lineas que me genera el dbQwickSite me obliga a hacerlo por DSN.

Ya configure en el ODBC la DSN a la que hace referencia pero por lo visto el código de conexión que me genera el dbQwickSite lo hace mal, ya que vuelvo al mismo problema del principio, no logro conectar con la db.

Si alguien puede darme una manito.

Gracias
  #5 (permalink)  
Antiguo 18/12/2009, 13:43
 
Fecha de Ingreso: diciembre-2009
Mensajes: 12
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Conectar PHP con mdb Access

Bueno sigo con el drama...me esta matando, no se mas que hacer, despues de poder conectar a la base con las lineas que me paso CDG, me aparece esto:

-----------------------------------------------------------------------------------------------------------------------
Deprecated: Function split() is deprecated in C:\xampp\htdocs\PHP\qs_functions.php on line 274
Deprecated: Function split() is deprecated in C:\xampp\htdocs\PHP\qs_functions.php on line 280
Deprecated: Function split() is deprecated in C:\xampp\htdocs\PHP\qs_functions.php on line 286
Deprecated: Function ereg_replace() is deprecated in C:\xampp\htdocs\PHP\qs_functions.php on line 326
Deprecated: Function ereg_replace() is deprecated in C:\xampp\htdocs\PHP\qs_functions.php on line 340
Deprecated: Function ereg_replace() is deprecated in C:\xampp\htdocs\PHP\qs_functions.php on line 346
Deprecated: Function split() is deprecated in C:\xampp\htdocs\PHP\qs_functions.php on line 274
Deprecated: Function split() is deprecated in C:\xampp\htdocs\PHP\qs_functions.php on line 280
Deprecated: Function split() is deprecated in C:\xampp\htdocs\PHP\qs_functions.php on line 286
Deprecated: Function ereg_replace() is deprecated in C:\xampp\htdocs\PHP\qs_functions.php on line 326
-----------------------------------------------------------------------------------------------------------------------

Y lo que me pierde mas aun es que me aparecen los controles de registro para agregar, editar, borrar, buscar tal cual esta programado y a continuación todo eso que no tengo idea que es, y al final de la pagina me aparece todos los campos con los registros bien como deveria, no se mas que configurar ni tocar. Cree la base de nuevo, genere el código, todo de cero y siempre lo mismo.

Alguno vio, tiene idea de que puede causar esto? si es mala conexión a la base? problema del DSN? Alguna orientación. Alguna idea porrrr faaaavvvvvvvvvvvooorrrrrrrrrrrrrr.

Desde ya Muchas Gracias
  #6 (permalink)  
Antiguo 18/12/2009, 13:45
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Conectar PHP con mdb Access

split es una funcion que ya no se usa.. al igual que ereg y todas sus cosas..

solo cambialas por explode y preg_replace

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #7 (permalink)  
Antiguo 18/12/2009, 13:49
 
Fecha de Ingreso: diciembre-2009
Mensajes: 12
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Conectar PHP con mdb Access

Gracias Hidek, como se nota que estoy quedando viejo, voy a probar y Gracias

Saludos!
  #8 (permalink)  
Antiguo 18/12/2009, 14:10
 
Fecha de Ingreso: diciembre-2009
Mensajes: 12
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Conectar PHP con mdb Access

Bueno voy mejorando jaja ahora me sale esto:

-----------------------------------------------------------------------------------------------------------------------

Warning: preg_replace() [function.preg-replace]: Delimiter must not be alphanumeric or backslash in C:\xampp\htdocs\PHP\qs_functions.php on line 326

----------------------------------------------------------------------------------------------------------------------

Que pertenece a esta instrucción:

----------------------------------------------------------------------------------------------------------------------
//-------- convert year ----------
if (substr_count($newformatdate ,"yyyy") > 0) {
$newformatdate = preg_replace ("yyyy" ,"$yyyy" ,$newformatdate);
}elseif (substr_count($newformatdate, "yyy") > 0) {
$newformatdate = preg_replace ("yyy" ,"$yyyy" ,$newformatdate);
}elseif (substr_count($newformatdate, "yy") > 0) {
$newformatdate = preg_replace ("yy" ,"$yy" ,$newformatdate);
}elseif (substr_count($newformatdate, "y") > 0) {
$newformatdate = preg_replace ("y" ,"$yy" ,$newformatdate);
--------------------------------------------------------------------------------------------------------------------

Que sera que me esta queriendo decir con esto?...Una ayudita, me falta menos...Gracias
  #9 (permalink)  
Antiguo 18/12/2009, 14:17
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Conectar PHP con mdb Access

ereg_replace y preg_replace no se usan de la misma forma..
debes usar delimitadores...

te recomiendo leas esto
preg_replace()
__________________
More about me...
~ @rhyudek1
~ Github
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 16:07.