es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La escritura de PHP a una fuente de datos ODBC falla.

Hoy necesito ayuda con un script de php que ya no funciona.

Necesito configurar un servidor de respaldo, donde una simple hoja de tiempo funcione con una interfaz web, conectada a una fuente de datos ODBC (base de datos Access 2007).
Todo funciona bien en el servidor original, pero ahora se va a cambiar el hardware.
En ambos servidores, se está ejecutando la versión 5.4.9 de PHP por razones de compatibilidad. (red local, por lo que no hay riesgo con la versión antigua de PHP)

La lectura desde la fuente de datos funciona bien, pero no puedo escribir en la fuente de datos. ¿Existe algún tipo de bandera de solo lectura que no encontré en el entorno de la fuente de datos?
No tengo idea de cómo resolver este problema.
Pude seguir el código hasta el comando “INSERT INTO” sin ningún error.

$result = odbc_exec($con,"INSERT INTO Zeitkarten (BeginnTätigkeit,EndeTätigkeit,Mitarbeiter,Projekt,ArbeitscodeNr,datum,Pause,AnzahlUeber,FZhin,FZrueck,Anmerkung) 
          VALUES ('".$_POST['kommen']."','".$_POST['gehen']."',$benutzer,'".$_POST['projekt']."','".$_POST['adt']."','".$_POST['heute']."','".str_Replace(",",".",$_POST['pause'])."','".str_Replace(",",".",$_POST['ama'])."','".str_Replace(",",".",$_POST['fzin'])."','".str_Replace(",",".",$_POST['fzrueck'])."','".$_POST['anmerkung']."')");
echo $result;
}

Esto debería imprimir cualquier resultado normalmente (por ejemplo, en el servidor original obtengo: Resource id #136). Aquí no obtengo nada.

¿Alguien puede ayudarme a buscar el problema, por favor?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en php, ms-access y odbc, sugiero los siguientes pasos:

    1. Verificar los registros de errores: Buscar mensajes de error relacionados con el comando INSERT INTO o la conexión odbc. Esto podría brindarte una pista sobre lo que está yendo mal en el script.
    2. Verificar los permisos: Asegurarse de que el archivo de la base de datos tenga los permisos de lectura/escritura necesarios. Además, verificar si la cuenta de usuario utilizada para conectar a la base de datos tiene los permisos necesarios para realizar la operación INSERT INTO.

    3. Verificar los tipos de datos: Asegurarse de que los tipos de datos de los campos en la sentencia INSERT INTO coincidan con los tipos de datos reales de los campos en la base de datos. Tipos de datos incompatibles pueden generar errores al insertar datos.

    4. Depurar el script: Intentar agregar algunas declaraciones de depuración en el script para acotar el problema. Puedes utilizar la función var_dump para imprimir los valores de las variables en varios puntos del programa.

    5. Probar en un entorno diferente: Si es posible, probar el script en un servidor o máquina diferente para asegurarse de que no sea un problema específico del servidor.

    Espero que estos pasos te ayuden a identificar el problema en tu script y solucionarlo.

Comments are closed.