2013-08-29 3 views
0

У меня возникли проблемы с вставкой данных в таблицу Access ('test'). У меня есть html-форма, которая должна использовать мой PHP для INSERT. Кажется, все идет хорошо (никаких ошибок), но когда я смотрю на таблицу доступа («тест»), ничего не было вставлено, и я не знаю почему. SELECT отлично работает, я просто не могу ВСТАВИТЬ по какой-то причине.Проблемы с вставкой PHP/ODBC - нет ошибок

Спасибо за помощь.

test.html:

<html> 
<body> 

Enter Customer Information 
<br> 
(* indicates required fields) 

<p> 
<form action="test.php" method="post"> 
Last Name*: <input type="text" name="last"> 
<br> 
First Name*: <input type="text" name="first"> 
</td> 
</tr> 
<input type="submit"> 
</form> 
</body> 
</html> 

test.php:

<?php 
$conn=odbc_connect('testdb','',''); 
$sql="INSERT INTO test (last, first) 
VALUES 
('$_POST[last]','$_POST[first]')" or die (sql_error); 
odbc_exec($conn, $sql) or die (exec_error); 
odbc_commit($conn) or die (comm_error); 
odbc_close($conn); 
echo "1 record added"; 
?> 
+0

Вызывает ли 'odbc_errormsg()' что-нибудь полезное? – andrewsi

+0

Я только что добавил, но ничего не сообщает. –

+0

О, я должен был заметить это раньше .... Вы ничего не делаете с '$ sql' - вам нужно передать его в' odbc_exec', чтобы запустить его. Очевидно, мне нужно больше кофе .... – andrewsi

ответ

1

Проблема решена. После добавления строки odbc_errormsg я получил: [Microsoft] [ODBC Microsoft Access Driver] Операция должна использовать обновляемый запрос.

В моем окне администратора ODBC не указано «только для чтения». Однако моя база данных доступа не позволяла обычным пользователям писать или изменять. После настройки разрешений в папке И файле * mdb она работала.

Спасибо Эндрюси за то, что помогли мне в этом. С тех пор я буду добавлять строки errormsg после каждой команды!

Смежные вопросы