У меня есть полностью работающая БД Microsoft Access. Я создал класс подключения к базе данных и просто простую страницу, которая включает в себя класс и запускает простой код SQL. Я знаю, что код прав, поскольку он работал нормально несколько недель назад. Тем не менее, между тем и теперь я установил PHP, MySQL, настроил свой IIS и установил PHPMyAdmin. (У нас были проблемы с нашими серверами, поэтому он попытался перейти на localhost, но был разрешен, прежде чем я полностью использовал PHPMyAdmin).
Итак, теперь у меня есть класс подключения и простая php-страница на сервере (с использованием FTP). Однако, когда я запускаю тот же запрос, который я использовал несколько недель назад, я получаю сообщение об ошибке:
ERROR:could not find driver. Warning: file_put_contents(connection.errors.txt) [function.file-put-contents]: failed to open stream: Permission denied in E:\kunden\blah\blah\blah\www\simpleTest.php on line 31
class connection{ public $con; private $dbName; function __construct(){ $this->dbName = $_SERVER["DOCUMENT_ROOT"] . "../database/db.mdb"; } function connect(){ $this->con = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$this->dbName; Uid=Admin; Pwd=;"); $this->con->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); return $this->con; } }
if (!ini_get('display_errors')) { ini_set('display_errors', '1'); } try{ include_once 'classes/connectionClass.php'; //get the DB connection $con = new connection(); $pdoConnection = $con->connect(); //query the DB $sql = $pdoConnection->prepare("SELECT * FROM celebs"); $result = $sql->execute(); while ($row = $sql->fetch(PDO::FETCH_ASSOC)) { echo $row['firstname']; echo $row['surname']; } } catch (Exception $e){ echo 'ERROR:'.$e->getMessage(); file_put_contents('connection.errors.txt', $e->getMessage().PHP_EOL,FILE_APPEND); }
Я не изменил код и задался вопросом, не создала ли настройка PHP, MySQL, IIS и PHPMyAdmin что-то, что помешало мне работать с моим кодом? Я просмотрел phpinfo (); но я не совсем уверен, что искать.
Любая помощь очень ценится, спасибо.
EDIT: Кроме того, после некоторого устранения ошибок – я уверен, что ошибка вращается вокруг кода в simpleTest.php после попытки создать новое соединение …