PHP Forms для обновления базы данных SQLite3 - PullRequest
0 голосов
/ 19 декабря 2011

Мне нужна помощь. Я пытаюсь создать форму PHP с использованием sqlite3 и продолжаю получать сообщение «синтаксическая ошибка, неожиданный T_CATCH в post.php в строке 10».Все, что я хочу сделать из формы php, это обновить существующую базу данных sqlite3 в таблице table1, где тип столбца = p и id столбца = 340, со значениями из формы.

HTML-код:

   <html>
   <head>
   <title>Update Form</title>
   </head>
   <body style="font-size:12;font-family:verdana">
   <form action="post.php" method="post">
   <p>
   Slot1: <input type="text" name="slot1"><br>
   Slot2: <input type="text" name="slot2"><br>
   </p>

   <p>
   <input type="submit" name="update" value="update">
   </p>

   </form>
   </body>
   </html>

PHP код: Post.php

<?php
$slot1 = sqlite_escape_string($_POST['slot1']);
$slot2 = sqlite_escape_string($_POST['slot2']);

try
{
$db = new PDO("sqlite:DefaultLibrary.db");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);   
catch(Exception $e)
{   
echo $e->getMessage();
}
}
if (!empty($slot1)) {
try
{   
    $stmt = $db->prepare("UPDATE tabel1 SET Slot1Pos = :slot1, Slot2Pos = :slot2 WHERE Type = P and ID = 340");
    $stmt->bindParam(':slot1', $slot1, PDO::PARAM_STR);
    $stmt->bindParam(':slot2', $slot2, PDO::PARAM_STR);
    $stmt->execute()
}
catch(Exception $e)
{
echo $e->getMessage();
}

echo "Form submitted successfully";

}

1 Ответ

1 голос
/ 19 декабря 2011

Похоже, вам не хватает скобки:

try {
    $db = new PDO("sqlite:DefaultLibrary.db");
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);   
} catch(Exception $e) {   
    echo $e->getMessage();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...