導航:首頁 > 編程語言 > sqlite操作類php

sqlite操作類php

發布時間:2022-07-17 03:31:54

A. php中如何使用sqlite

PHP SQLite 的使用和配置方法:

在PHP 5.1.x 以後自帶了 SQLtie 資料庫功能,只需要在配置PHP.ini中開啟即可

;extension=php_sqlite.dll

在PHP 5.2.x 以後自帶了 SQLtie PDO資料庫功能,只需要在配置PHP.ini中開啟即可

;extension=php_pdo_sqlite.dll

SQLite 資料庫管理:

1、SQLiteManager與PHPmyadmin不同,需要添加管理的資料庫
2、Windows下使用添加路徑需要將 X: \**\** 改為 X:/**/**
3、 創建資料庫的時候需要指定SQLite 資料庫文件存放的路徑

B. php操作sqlite sql語句執行兩次的問題

我覺得,你這個方法對插入並不適用啊。插入返回的沒有結果集,只有成功與失敗。那你執行之後,還去fetchArray() 。這個就不好了吧。插入的時候,不需要去取這個啊。你應該要判斷一下傳進來的SQL。如果是 SELECT 開頭的,則執行這句。如果是非SELECT ,比如 INSERT UPDATE DELETE 那麼就不需要去執行那句。而是直接返回 $result 就行了。你的執行兩句,有可能就是這個不需要執行的地方引起的。你自己加個判斷,處理一下。看看是否還會插入兩條記錄。

C. PHP如何調用sqlite資料庫

可以使用PDO抽象數據層技術:
$conn=new PDO("sqlite:D:/database/bagecms.db");
$loginstr="select * from UserTab where UserId=? and UserPwd=?";
$sth=$conn->prepare($loginstr);
$sth->bindValue(1,$userid,PDO::PARAM_STR);
$sth->bindValue(2,$userpwd,PDO::PARAM_STR);
$sth->execute();
$res=$sth->fetch();
if($res && ($_POST["chk"]==$_SESSION["srcnum"]))
{
echo("<div>歡迎您,".$res["UserId"]."</div>");
echo("<a href='exam.php'>點擊進入主頁</a>");
$_SESSION["ut"]=$res["UserId"];
}else
{
echo("<div>登錄失敗!</div><div>用戶名、密碼或者 驗證碼不正確</div>");

D. PHP+PDO+sqlite 資料庫操作問題

PDO默認的錯誤處理模式是靜默模式,即出了錯不會報錯的;你可以用PDO::setAttribute(
PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING)設置為警告模式,就會報錯了;
但是這里報的錯誤是指語法錯誤;所以DELETE、INSERT、 或 UPDATE都用受影響的行數來進行判斷;返回0,表示不成功;PDOStatement::rowCount()

E. PHP 操作 sqlite 時如何為 sqlite加密 和防止 用戶下載資料庫

Sqlite資料庫的加密

1、創建空的sqlite資料庫。
//資料庫名的後綴你可以直接指定,甚至沒有後綴都可以
//方法一:創建一個空sqlite資料庫,用IO的方式
FileStreamfs=File.Create(「c:\test.db「);
//方法二:用SQLiteConnection
SQLiteConnection.CreateFile(「c:\test.db「);
創建的資料庫是個0位元組的文件。
2、創建加密的空sqlite資料庫
//創建一個密碼為password的空的sqlite資料庫
SQLiteConnection.CreateFile(「c:\test2.db「);
SQLiteConnectioncnn=newSQLiteConnection(「DataSource=c:\test2.db「);
SQLiteConnectioncnn=newSQLiteConnection(「DataSource=D:\test2.db「);
cnn.Open();
cnn.ChangePassword(「password「);
3、給未加密的資料庫加密
SQLiteConnectioncnn=newSQLiteConnection(「DataSource=c:\test.db「);
cnn.Open();
cnn.ChangePassword(「password「);
4、打開加密sqlite資料庫
//方法一
SQLiteConnectioncnn=newSQLiteConnection(「DataSource=c:\test2.db「);
cnn.SetPassword(「password「);
cnn.Open();
//方法二
=();
builder.DataSource=@」c: est.db「;
builder.Password=@」password「;
SQLiteConnectioncnn=newSQLiteConnection(builder.ConnectionString);
cnn.Open();
分頁
select*frommessageslimit10,100;
表示跳過10行,取100行的返回結果。

F. 如何讓php支持sqlite

SQLite是一款輕型的資料庫,是遵守ACID的關聯式資料庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支持Windows/linux/Unix等等主流的操作系統,同時能夠跟很多程序語言相結合,比如Tcl、PHP、Java等,還有ODBC介面,同樣比起Mysql、PostgreSQL這兩款開源世界著名的資料庫管理系統來講,它的處理速度比他們都快。

G. 求:哪位高手幫寫個PHP + Sqlite3 增 改 刪 資料庫實例 不剩感激

php中操作sqlite3資料庫的類文件。
一般用法:

$filepath="/apps/www/htdocs/databasename";
$db=new SPSQLite3($filepath); //打開此路徑資料庫文件
$sql="select * from tablename"; //查詢記錄
$sql2="delete from tablename"; //刪除表內所有記錄
$db->exec_sql($sql); //執行查詢語句
$db->struct_sql($sql2); //執行刪除
$result=$db->get_all_data(); //返回操作記錄集合
$numbers=count($result); //得到有效記錄數
$fields=$result[0]["field"]; //取欄位內容
$db->close(); //關閉

?>
需要在裝入的頭文件中加入:@dl('sqlite3.so');調用動態鏈接庫(linux中)

[@more@]

class SPSQLite3
{
var $db_name; //連接的sqlite資料庫伺服器的用戶密碼
var $db_link; //資料庫連接的句柄
var $result; //執行sqlite語句的資源句柄
var $insert_autoid = 0; //增加記錄時自動編號的最後一個ID號
var $get_data = array(); //獲取記錄內容
var $get_all_data = array(); //獲取所有記錄內容
var $num_rows = 0; //執行SELECT語句時獲取了多少條記錄
var $affected_rows = 0; //執行除SELECT語句所影響的記錄行數
var $error = "";
function SPSQLite3($db_name = "sqlite")
{
$this->db_name = $db_name;
$this->open_db($db_name); //打開資料庫
}

//構造函數
function __destruct()
{
$this->free();
$this->close();
}

//釋放查詢值
function free()
{
if ($this->result)
{
unset($this->result);
}
}
//關閉資料庫連接
function close()
{
if ($this->db_link)
{
$this->free();
return @sqlite3_close($this->db_link);
}
}
//嚴重錯誤時停執行
function halt($msg)
{
$this->free();
$this->close();
//調試函數
print("

程序遇到一個嚴重而至命的錯誤,以至停止執行!
錯誤描述:{$msg}

");
exit(1);
}

//打開數據連接,並選擇資料庫
function open_db($db_name = "sqlite")
{
if ($db_name == "")
{
$db_name = $this->db_name;
}
if ($db_name == "")
{
$this->halt("未能找到指定要操作的資料庫名:{$db_name}!");
}
$this->db_link = @sqlite3_open($db_name) or die ("資料庫連接失敗");
if ($this->db_link)
{
return $this->db_link;
}else{
$this->halt("您所要操作的文件不能寫,許可權不足!");
}
}
//返回sqlite連接句柄
function db_link()
{
return $this->db_link;
}
//執行對數據查詢操作的SQL語句
function exec_sql($sql_cmd)
{
$this->result = @sqlite3_query($this->db_link, $sql_cmd);
return $this->result;
}
//執對資料庫操作(create,update,delete,insert)的SQL語句
function struct_sql($sql_cmd)
{
$this->result = @sqlite3_exec($this->db_link, $sql_cmd);
return $this->result;
}

//獲取所有數據內容存入數組中
function get_data()
{
if (!$this->result)
{
//$this->halt("沒有記錄可獲取!");
return false;
}
$this->get_data = @sqlite3_fetch_array($this->result);
if (!is_array($this->get_data))
{
$this->get_data = null;
}
return $this->get_data;
}

//獲取所有數據內容存入數組中
function get_all_data()
{
if (!$this->result)
{
//$this->halt("沒有記錄可獲取!");
return false;
}
$this->get_all_data = array();
while ($row = @sqlite3_fetch_array($this->result))
{
$this->get_all_data[] = $row;
}
return $this->get_all_data;
}

//記錄操作返回數
function num_rows()
{
if (!$this->result)
{
//$this->halt("沒有記錄可獲取!");
return false;
}
//禁用num_rows函數..
//$this->num_rows = sqlite3_changes($this->result);
$this->num_rows = 0;
return $this->num_rows;
}

//seek函數
function seek($nu)
{
if (!$this->result)
{
//$this->halt("沒有記錄可獲取!");
return false;
}
$seek_result = @sqlite_seek(!$this->result, $nu);
if ($seek_result)
{
return $seek_result;
}else{
$this->halt("數據記錄移動范圍超出了記錄!");
}
}
//獲取最後增加記錄的自動編號
function insert_autoid()
{
$this->insert_autoid = @sqlite3_last_insert_rowid($this->db_link);
return $this->insert_autoid;
}
//執行除SELECT語句所影響的記錄行數
function affected_rows()
{
$this->affected_rows = sqlite3_changes($this->db_link);
return $this->affected_rows;
}

//創建資料庫函數
function create_db($db_name)
{
if ($db_name == "")
{
return false;
}
$str = "~!@#$$%^&*(_+=|[{:;"'?/.,<>}])";
for ($i = 0; $i < strlen($str); $i++)
{
if (eregi($str{$i}, $db_name))
{
return false;
}
}
return ($this->struct_sql("CREATE DATABASE {$db_name} ;")) ? true : false;
}

//刪除資料庫
function drop_db($db_name)
{
if ($db_name == "")
{
return false;
}
$str = "~!@#$$%^&*(_+=|[{:;"'?/.,<>}])";
for ($i = 0; $i < strlen($str); $i++)
{
if (eregi($str{$i}, $db_name))
{
return false;
}
}
return ($this->struct_sql("DROP DATABASE {$db_name} ;")) ? true : false;
}

//清空數據表
function truncate_table($t_name)
{
if ($t_name == "")
{
return false;
}
$str = "~!@#$$%^&*(_+=|[{:;"'?/.,<>}])";
for ($i = 0; $i < strlen($str); $i++)
{
if (eregi($str{$i}, $t_name))
{
return false;
}
}
return ($this->struct_sql("DELETE FROM {$t_name} ;")) ? true : false;
}

//獲取最後資料庫出錯信息
function get_last_error()
{
$error = array();
$error["number"] = sqlite3_error($this->db_link);
$error[0] = $error["number"];
$error["string"] = sqlite3_error($error[0]);
$error[1] = $error["string"];
return $error;
}
}
?>

H. php 配置sqlite

PHP5已經綁定sqlite
1、手動添加的php的pdo的驅動擴展支持,在PHP.ini添加
extension=php_pdo.dll
extension=php_pdo_sqlite.dll
extension=php_sqlite.dll
extension_dir="C:"
2、在C:保證有php_sqlite.dll,php_pdo_sqlite.dll,
php_pdo.dll擴展庫
3、重啟apache
4、下載SQLitemanager,createadatabase,保存名「db.sqlite」的資料庫,建表,
或者sqliteadmin
5、在PHP鏈接SQLite
方法一、$db=newPDO('sqlite:db.sqlite');
print_r($db);
$sth=$db->query("select*fromaqo");
方法二、if($db=sqlite_open('db.db',0666,$sqliteerror)){
sqlite_query($db,'CREATETABLEfoo(barvarchar(10))');
sqlite_query($db,"INSERTINTOfooVALUES('fnord')");
$result=sqlite_query($db,'selectbarfromfoo');
var_mp(sqlite_fetch_array($result));
}else{
die($sqliteerror);
}

I. PHP中怎麼使用SQLite資料庫,最好可以把創建和連接資料庫的代碼發出來。謝謝!急!急!急!

首先說基本配置:
PHP SQLite 的使用和配置方法:
在PHP 5.1.x 以後自帶了 SQLtie 資料庫功能,只需要在配置PHP.ini中開啟即可
;extension=php_sqlite.dll
在PHP 5.2.x 以後自帶了 SQLtie PDO資料庫功能,只需要在配置PHP.ini中開啟即可
;extension=php_pdo_sqlite.dll
SQLite 資料庫管理:
1、SQLiteManager與PHPmyadmin不同,需要添加管理的資料庫
2、Windows下使用添加路徑需要將 X: \**\** 改為 X:/**/**
3、 創建資料庫的時候需要指定SQLite 資料庫文件存放的路徑

再說操作:
<?php
$db_path = 'sqlite3_db_php';
$db = new SQLite3($db_path); //這就是創建資料庫,也是連接資料庫
if (!!$db) {
//下面創建一個表格
$db->exec('CREATE TABLE user (id integer primary key, name varchar(32), psw varchar(32))');

J. php怎樣處理sqlite3

<?php
// set access parameters
$db = "users.db";

// open database file
// make sure script has read/write permissions!
$conn = sqlite_open($db) or die ("ERROR: Cannot open database");

// create and execute INSERT query
$sql = "INSERT INTO users (id, username, country) VALUES ('5', 'pierre', 'FR')";
sqlite_query($conn, $sql) or die("Error in query execution: " .sqlite_error_string(sqlite_last_error($conn)));

// create and execute SELECT query
$sql = "SELECT username, country FROM users";
$result = sqlite_query($conn, $sql) or die("Error in query execution: " . sqlite_error_string(sqlite_last_error($conn)));

// check for returned rows
// print if available
if (sqlite_num_rows($result) > 0) {
while($row = sqlite_fetch_array($result)) {
echo $row[0] . " (" . $row[1] . ") ";
}
}

// close database file
sqlite_close($conn);
?>

閱讀全文

與sqlite操作類php相關的資料

熱點內容
從命令模式切換為編輯模式 瀏覽:93
南京噪音小壓縮機配件 瀏覽:427
編程改變角色的速度 瀏覽:312
獵殺k線主圖源碼 瀏覽:167
ros單片機節點 瀏覽:664
程序員升級19關怎麼過 瀏覽:925
哪個軟體可以兩部手機一起看電影 瀏覽:336
有一個關於機器人的電影男主殘疾 瀏覽:761
女主角恩聖 瀏覽:280
聊城私人影院哪家比較好 瀏覽:796
gpd運行python 瀏覽:474
一品俠手機小說500篇 瀏覽:339
怎麼刪掉通達信編譯不成功指標 瀏覽:611
殘暴總裁狠虐妻的小說 瀏覽:911
java繼承父方法 瀏覽:820
速達雲伺服器的配置 瀏覽:598
pdfa5 瀏覽:937
多大的程序員吃香 瀏覽:898
編程字體調節 瀏覽:932
水準儀移動點位演算法視頻 瀏覽:71