strip_tags remove ent_quotes ejemplo php ms-access

php - remove - strip_tags wordpress



Acceso PHP y MS (5)

¿Cómo podemos conectar un script PHP al archivo MS Access (.mdb) ?

Intenté incluyendo el siguiente código PHP :

$db_path = $_SERVER[''DOCUMENT_ROOT''] . ''/WebUpdate//' . $file_name . ''.mdb''; $cfg_dsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" . $db_path; $odbcconnect = odbc_connect($cfg_dsn, '''', '''');

Pero falló y recibí el siguiente mensaje de error:

Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified, SQL state IM002 in SQLConnect in C:/web/WebUpdate/index.php on line 41


Aquí hay una muestra para una conexión y una selección simple ...

<?php $db_conn = new COM("ADODB.Connection"); $connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("./Northwind.mdb").";"; $db_conn->open($connstr); $rS = $db_conn->execute("SELECT * FROM Employees"); $f1 = $rS->Fields(0); $f2 = $rS->Fields(1); while (!$rS->EOF) { print $f1->value." ".$f2->value."<br />/n"; $rS->MoveNext(); } $rS->Close(); $db_conn->Close(); ?>


En el nombre de archivo, estoy mirando ''/ WebUpdate /' - parece que tiene una barra invertida al principio en dos al final. ¿Te estás perdiendo una barra invertida al principio?


parece un problema con los separadores de ruta. ISTR que tiene que pasar barras inclinadas hacia adelante no barras inclinadas

Lo siguiente me funciona: con un archivo MDB en la webroot llamado db4

$defdir = str_replace("/", "//", $_SERVER["DOCUMENT_ROOT"]); $dbq = $defdir . "//db4.mdb"; if (!file_exists($dbq)) { die("Database file $dbq does not exist"); } $dsn = "DRIVER=Microsoft Access Driver (*.mdb);UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5;MaxScanRows=8;MaxBufferSize=2048;FIL=MS Access;DriverId=25;DefaultDir=$defdir;DBQ=$dbq"; $odbc_conn = odbc_connect($dsn,"","") or die("Could not connect to Access database $dsn");


$db_path = $_SERVER[''DOCUMENT_ROOT''] . ''/WebUpdate//' . $file_name . ''.mdb'';

reemplace las barras diagonales con el uso de barras. ''/ WebUpdate /''.


No estoy seguro si esto es una violación de las mejores prácticas o seguridad, pero me gustaría descartar esta sugerencia:

configure una conexión ODBC e incluya la contraseña de la base de datos en la configuración avanzada de odbc. dale a la conexión odn un nombre DSN y luego guarda.

en tu código, simplemente configura la conexión como:

try { $conn = @odbc_connect("DSNName", "", "", "SQL_CUR_USE_ODBC"); // un and pw parameters are passed as empty strings since the DSN // has knowledge of the password already. // 4th parameter is optional $exec = @odbc_exec($conn, $insert) or die ("exec error"); echo "success!"; } catch (Exception $e) { echo $e->getMessage(); } // end try catch