导航:首页 > 编程语言 > 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相关的资料

热点内容
linux切换root命令 浏览:280
c编译之后界面一闪而过怎么办 浏览:877
怎么看ic卡是否加密 浏览:722
lgplc编程讲座 浏览:806
cnc手动编程铣圆 浏览:720
cad中几种命令的意思 浏览:324
oraclelinux安装目录 浏览:133
安卓系统可以安装编译器吗 浏览:570
javajson实体类 浏览:690
板加密钢筋是否取代原钢筋 浏览:66
学习编程的思路 浏览:230
app易语言post怎么学 浏览:965
地梁的箍筋加密区位置 浏览:302
二分法排序程序及编译结果 浏览:679
日语命令形和禁止型 浏览:285
安装软件用管理员解压 浏览:505
编译原理代码块 浏览:400
小孩可以用压缩面膜吗 浏览:14
锥形倒角怎么计算法 浏览:883
java合并链表 浏览:508