MDB доступ с использованием php - PullRequest
1 голос
/ 11 августа 2011

У меня возникли небольшие проблемы при попытке записи в базу данных .mdb с php.

В базе данных есть таблица с именем comments, и в ней есть 3 столбца: «id», «comment» и «by».».У меня есть следующий код:

<?php

$count =0;
$db_path = "newsBlog.mdb";
$odbc_con = new COM("ADODB.Connection");
$constr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . $db_path . ";";
$odbc_con -> open($constr);

$sql = "INSERT INTO [comments] VALUES (".$_POST['newsId'].",'".$_POST['comment']."', '".$_POST['by']."')";
echo $sql;
$odbc_con -> execute (sql);

$rs = null;
$conn = null;

echo "done";
?>

Он берет 3 значения из формы на предыдущей странице и должен вставить их в базу данных, за исключением того, что я каждый раз получаю эту ошибку:

<b>Fatal error</b>:  Uncaught exception 'com_exception' with message '&lt;b&gt;Source:&lt;/b&gt; Microsoft OLE DB Provider for ODBC Drivers&lt;br/&gt;&lt;b&gt;Description:&lt;/b&gt; [Microsoft][ODBC Microsoft Access Driver] Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.' in D:\Hosting\7010757\html\users\kinectfashion\postComment.php:20 Stack trace:
#0 D:\Hosting\7010757\html\users\kinectfashion\postComment.php(20): com-&gt;execute('sql')
#1 {main}   thrown in <b>D:\Hosting\7010757\html\users\kinectfashion\postComment.php</b> on line <b>20</b><br />

Для меня это выглядит СУМАСШЕДШИМ, поскольку я использую оператор вставки и не вижу, что я делаю неправильно!

Любая помощь будет высоко ценится!

Спасибо

1 Ответ

2 голосов
/ 11 августа 2011

$odbc_con -> execute (sql); должно быть $odbc_con -> execute ($sql);

...