PHP con Access

Carolina
11 de Abril del 2003
¡¡¡¡Hola!!!!! quien me pueda ayudar por favor... soy una novata en programación con PHP y Access, y tengo un problemita, resulta que estoy tratando de insertar datos a una BD que esta hecha en Access y que tiene dos tablas datos y materia lo que quiiero es insertar los datos de alumno (como una especie de inscripción) y poder luego insertar las materias que ve en el curso.... pero me genera el siguiente error cuando intento insertar los datos del alumno.

Warning: SQL error: [Microsoft][Controlador ODBC Microsoft Access] La operación debe usar una consulta actualizable., SQL state S1000 in SQLExecDirect in c:inetpubwwwrootalumnosinsertar.php on line 28

Que puede ser!!!!!!!!!!
no y lo mas estraño es que en otra maquina si funciona. ah!!! Ayudenme por favor!!!!!!!!!!
Si alquien me puede explicar bien cual o cuales pueden ser la causa del error se lo agradeceria muchisimo!!!!!!!!!!!!!

el codigo de PHP es el siguiente... pero la verdad es que no creo que este mal.......
<?php
$conexion = odbc_connect("bdprueba", "root", "654123");
if (!$conexion)
die ("Error en la conexión con el gestor");
if ((empty($nombre)==false) and (empty($apellido)==false) and (empty($ci)==false) and (empty($correo)==false)){
$buscar="Select cedula from datos where cedula='$ci';";
$consulta = odbc_do($conexion,$buscar);
$existe = odbc_fetch_row ($consulta);
if ($existe)
{
echo "<center><font color='blue'><h1>Ya fue Registrado(a). </h1></font></center>";
echo "<hr>";
echo "<b>Cédula: $cin";
echo "<br>No puede volver a registrar sus datos<br></b>";
}else{
$consultaSQL ="INSERT INTO datos VALUES ('$nombre','$apellido', '$ci','$correo');";
$resultado = odbc_do($conexion, $consultaSQL);
if ($resultado)
{
echo"<center><font color='blue'><h1>¡¡Gracias!!</h1></font></center>";
echo "<hr>";
echo "<BR><B><h1>Datos Insertados</h1></B>";
}else
die("Error en la inserción");
} //fin del else
}else{
echo"<center><font color='blue'><h1>Suministre datos en todos los campos:</h1></font></center>";
echo"<hr>";
}
odbc_close($conexion);
?>

Angel Oviedo E
11 de Abril del 2003
al parecer no tienes configurado el odbc en tu maquina checalo en panel de control

Salu2,,,,

ale
11 de Abril del 2003
esto lo vi en otro foro ,creo que son alternetivas bastante fiables.ESpero que te sean útiles
:"Bueno, he por fin he dado con la solución y es la siguiente. Debéis localizar el directorio raíz de vuestra aplicación ASP en el directorio inetpubwwwroot y acceder a sus propiedades haciendo click con el botón derecho del ratón. Una vez en las propiedades se debe acceder a USO COMPARTIDO DE WEB y COMPARTIR ESTA CARPETA asignando los permisos adecuados en MODIFICAR PROPIEDADES (lectura, escritura, etc. y ejecución para permitir la ejecución del código ASP). Una vez hecho esto la aplicación será públicada con los permisos y no habrá problemas, al menos en mi caso. Un saludo"

Para que no salga ese error el fichero basedatos.mdb debe de tener permiosos "Usuarios Avanzados" de Control Total, pero solo el fichero .mdb.
Te vas al Explorardor de Archivos, eliger el .mdb, y con el boton derecho das a propiedades y en la pestaña de seguridad hay que incluir el grupo mencionado antes.
Así dejará de darte estos problemas.
No es necesario crear ningún recurso compartido ni nada por el estilo. Gracias por tu ayuda. Efectivamente el problema estaba en los permisos a nivel de fichero de la base de datos. Yo lo he solucionado dando simplemente el permiso de escritura para ese fichero al usuario anónimo que utiliza Windows para el acceso al IIS.

Un saludo