Microsoft Access из php с ошибкой odbc: (07002) - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь запустить свой первый скрипт php, который подключается к моей базе данных MS Access .accdb.

Вот мой код:

<?php
$dbName = "G:/xampp/htdocs/1.accdb"; 
$nazwa_produktu = (string)$_POST["nazwa_produktu"];
$cena = (int)$_POST["cena"];
$ilosc = (int)$_POST["ilosc"];
$kategoria = (string)$_POST["kategoria"];
if (!file_exists($dbName)) {
die("Access database file not found !");
}
$conn = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)}; Dbq=$dbName; Uid=; Pwd=;");
$sql = "INSERT INTO [produkty] (nazwa_produktu, cena, ilosc, kategoria) VALUES ($nazwa_produktu, $cena, $ilosc, $kategoria)";
if($conn->query($sql))
    {
       echo 'success';
    }else{

           $db_err = $conn->errorInfo();
           echo 'Error : ('. $db_err[0] .') -- ' . $db_err[2];
    }

Я все еще получаю:

Ошибка: (07002) - [Microsoft] [ODBC Microsoft Access Driver] Слишком мало параметров. Ожидаемый 2. (SQLExecute [-3010] в ext \ pdo_odbc \ odbc_stmt.c: 258)

Возможно, это как-то связано с Uid и Pwd в $conn, но я действительнопонятия не имею, что я могу сделать больше, потому что, когда я пытаюсь запустить это без этих параметров, все равно что-то не так.

1 Ответ

0 голосов
/ 10 октября 2019

Попробуйте указать Uid как Admin, для этой ссылки , то есть:

$conn = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)}; Dbq=$dbName; Uid=Admin; Pwd=;");
...