PHP Forms用于更新SQLite3数据库

时间:2011-12-19 01:01:53

标签: php forms sqlite

我需要一些帮助我正在尝试使用sqlite3创建一个PHP表单,并且我继续得到“语法错误,第10行的post.php中的意外T_CATCH”。我想从php表单中做的就是更新table1中的现有sqlite3数据库,其中列类型= 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 个答案:

答案 0 :(得分:1)

看起来你错过了一个大括号:

try {
    $db = new PDO("sqlite:DefaultLibrary.db");
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);   
} catch(Exception $e) {   
    echo $e->getMessage();
}