2012-08-10 91 views
0

現在,我想用php和sqlite編寫程序,但我有問題。瀏覽器顯示錯誤給我,你能幫我糾正我的程序嗎?這是源代碼,從Chrome瀏覽器sqlite和php當打開數據庫

<?php 
$user_id = $_POST["user_id"]; 
$pass_id = $_POST["pass_id"]; 

$database = sqlite_open("database_support/user_acces..."); 
$result = sqlite_query($database, "select * from user_table where user_id like  '$user_id' and pass_id like '$pass_id'"); 

if($result){ 
$_SESSION["user_id"] = $user_id; 
$_SESSION["pass_id"] = $pass_id; 
$_SESSION["time_id"] = time() + 10; 
echo ($_SESSION["time_id"]); 
} 
else{ 
header("location:index.php"); 
} 
?> 

結果:

 
Warning: sqlite_open() [function.sqlite-open]: unable to open database: C:\xampp\htdocs\aptana\gsy\document_supp… in C:\xampp\htdocs\aptana\gsy\document_supp… on line 5 

Warning: sqlite_query() expects parameter 1 to be resource, string given in C:\xampp\htdocs\aptana\gsy\document_supp… on line 6 

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\aptana\gsy\document_supp… in C:\xampp\htdocs\aptana\gsy\document_supp… on line 15 

任何人可以幫助我,?謝謝4你的時間,

回答

0

Your sqllite_open應該像下面的代碼一樣。在你的代碼中它似乎缺乏一些東西。 如果你想在任何文件中使用會話,那麼你必須在使用它之前開始會話 所以你的代碼必須像這個示例代碼。

<?php 
session_start(); 

$dbhandle = sqlite_open('db/test.db', 0666, $error); 

if (!$dbhandle) die ($error); 

$query = "SELECT Name, Sex FROM Friends"; 
$result = sqlite_query($dbhandle, $query); 
if (!$result) die("Cannot execute query."); 
?> 
+0

好吧,它現在的權利,但我仍然有問題。瀏覽器說

警告:SQLiteDatabase :: query()[sqlitedatabase.query]:沒有這樣的表:user_table在C:\ xampp \ htdocs \ aptana \ gsy \ document_support \ checkpoint.php在第16行沒有這樣的表:user_table

我使用mozilla中的sqlite管理器添加數據庫。我現在的問題是「我們可以使用sqlite管理器創建數據庫並使用php連接它來執行一些查詢,如」select * from user_table「? – NPE 2012-08-10 10:36:56

+0

我認爲表不存在於您的數據庫中 – gaurang171 2012-08-10 10:39:20

0

確保該文件是有效的sqlite文件。由於您正嘗試訪問此文件中的$_SESSION,因此還需要執行session_start。另外location更改不應該由任何其他html內容。