用sqlite database寫簡單留言板的問題

Home Home
引用 | 編輯 獨吾洋
2008-04-10 14:44
樓主
推文 x0
現在我在練習做個簡單的留言板

但是問題是不能把留言儲到資料庫裡 (sqlite)

我的server已經安裝sqlite

然後我用putty在我的空間裡創造了個資料庫了(*.db)

然後我在資料庫裡創造了表格儲存留言板用

表格的標籤有"id", "message", "name", "email"

所以我在putty用的sqlite指令
複製程式
create table messages (id INTEGER auto_increment PRIMARY KEY,
message TEXT,
name TEXT,
email TEXT);


然後index.php網頁裡的一小部分code
複製程式
<?php
require "includes/defs.php";

$message = $_POST['message'];
$name = $_POST['name'];
$email = $_POST['email'];

if (! empty($message)) {
addEntry($message, $name, $email);
}
?>


defs.php新增留言部分的code
複製程式
<?php
// Add a new entry to the database
function addEntry($message, $name, $email) {
$dbh = sqlite_open(DATABASE, 0606, $sqlite_error)
or die("Couldn't open database: $sqlite_error");
$query = "insert into messages (message, name, email) values ('$message', '$name', '$email')";
$result = sqlite_query($dbh, $query, SQLITE_BOTH, $sqlite_error)
or die("Insertion failed: $sqlite_error");
sqlite_close($dbh);
}
?>


但是當我留言板的表格裡填一些文字後
複製程式
<form method="post" action=".">
<p>
<textarea rows=6 cols=72 name="message">Message</textarea><br>
<input type="text" size=40 name="name" value="Name"><br>
<input type="text" size=40 name="email" value="Email"><br>
<input name="submit" type="submit" value="Add message">
</form>

我按submit

但是出現Insertion failed

請問上面的code問題出在哪?

我覺得問題應該是出在defs.php那裡的code

獻花 x0
引用 | 編輯 andyz
2008-04-10 23:42
1樓
  
php.ini 裡 有一個參數
設成register_globals = On 試試

獻花 x0
引用 | 編輯 獨吾洋
2008-04-12 02:12
2樓
  
下面是引用andyz於2008-04-10 23:42發表的 :
php.ini 裡 有一個參數
設成register_globals = On 試試

請問php.ini在哪設定?

其實我用的伺服器是學校提供的

不管smarty, php, sqlite和mysql都是安裝好的

所以我還要修改php.ini嗎?

獻花 x0
引用 | 編輯 andyz
2008-04-13 20:15
3樓
  
下面是引用獨吾洋於2008-04-12 02:12發表的 :


請問php.ini在哪設定?

其實我用的伺服器是學校提供的

不管smarty, php, sqlite和mysql都是安裝好的

所以我還要修改php.ini嗎?

php.ini 是在/etc/底下

寫一個檔案
<?
phpinfo();
?>

看看register_globals是否為On

獻花 x0