⑴ 求:哪位高手帮写个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;
}
}
?>
⑵ 如何用PHP写一段删除数据库表中的一条记录急求啊
//删除是记录是用sql语句,比如 delete from xxx(table) where id=1 删除 id=1的雀腔记录
//数碧贺据库操作后,手动关闭是顷慧衫好得习惯,不手动关闭,php程序也会最后自动关闭
⑶ php删除sql数据库的语句
MySQL为我们提供了delete和truncate语句来删除数据。
delete 语句的定义:
删除数据的时候用的大多都是 delete 语句。现在让我们来看一下 delete语句的定义。
DELETE[LOW_PRIORITY][QUICK][IGNORE]FROMtbl_name
[WHEREwhere_definition]
[ORDER BY...]
[LIMITrow_count]
deletefromfriendswhereuser_name='simaopig';
delete 注意事项:
从语法结构中,我们就可以看出,和 update 语法一样,我们是可以省略 where 子句的。不过这是一个很危险的行为。因为如果不指定 where 子句,delete 将手猜删除表中所有的记录,而且是立即删除.
truncate 语句的简单说明:
这个语句之前我也没有接触过,也没有使用过岁厅。因为一般情况下,删除数据大家都在使用delete语句。其实这个truncate 命令很简单,它的意思是:删除表的所有记录。相当于 delete 语句不写 where 子句一样。其语法结构为:
TRUNCATE[TABLE]tbl_name
这里简单的给出个示例,我想删除 friends 表中所有的记录,可以使用如下语句:
truncatetablefriends;
truncate 和 delete的效率问题:
如果想要删除表的所有数据,truncate语句要比 delete 语句快。因为 truncate 删除了表,然后根据表结构重新建立它,而 delete 删除的是记录,并没有尝试乎薯隐去修改表。这也是为什么当向一个使用 delete 清空的表插入数据时,MySQL 会记住前面产生的AUTOINCREMENT序列,并且继续利用它对AUTOINCREMENT字段编号。而truncate删除表后,表是从1开始为autoincrement字段编号。
不过truncate命令快规快,却不像delete命令那样对事务处理是安全的。因此,如果我们想要执行truncate删除的表正在进行事务处理,这个命令就会产生退出并产生错误信息。
⑷ PHP怎么写可以清空MYSQL数据库中一个表里面的值!
参考方法:
delete from 表名;
truncate table 表名;
不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以清空mysql表中所有内容。效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。
delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。
⑸ PHP操作MySQL,删除一行数据库,怎么写
删除一条记录简单方法,应该说是最简单的入门级的了.
mysql>delete from 表名 where id=1;
query ok,
这样就可以删除了,
如果你和php教程 mysql配置只要利用php连接到数据库教程再用php mysql_query("delete from 表名 where id=1");就可以删除了。
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("delete from person where lastname='griffin'");
mysql_close($con);
?>
下面看一下关于mysql delete语法.
删除数据库中的数据
delete from 语句用于从数据库表中删除记录。
语法
delete from table_name
where column_name = some_value
注释:sql 对大小写不敏感。delete from 与 delete from 等效。
为了让 php 执行上面的语句,我们必须使用 mysql_query( 函数。该函数用于向 sql 连接发送查询和命令