当前位置: 网学 > 编程文档 > PHP > 正文

php操作文件型数据库SQLite

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式
无类型的以及因此你可以插入任意类型的数据到任意字段中的话吗?这里有该规则的一个重要的例外:标记为整型关键字的字段。在SQLite中,标记为整型关键字的字段需要做两件重要的事情:它们为表中的每条记录提供一个唯一的数字标识符,且如果你将NULL值插入其中,那么SQLite自动插入一个比字段中已有的最大值大一的数值。

因此,SQLite中的整型关键字字段执行和MySQL中的自动增加字段一样的任务,而且是自动对记录编号的一种方便的方法。很明显地,你无法插入非数值到这样的字段中,这就是我为什么说它们是无类型规则的一个例外。

阅读更多的关于这方面的内容请参看:http://www.sqlite.org/datatypes.html。

因为之前例子中用到的books表格包含这样的字段(id字段),所以很明显地,每个插入到该字段的NULL值会生成一个新的记录号。如果你打算读取该号,那么PHP也有一种方法这样做(只使用sqlite_last_insert_rowid()即可,该函数返回最后被插入一行的ID号(这等价于PHP的MySQL API中的mysql_insert_id()函数))。

为了看到这个的实际效果,更新上面脚本中间的if()循环以包含对sqlite_last_insert_rowid()的调用,如下所示:


<?php
// check to see if the form was submitted with a new record
if (isset( php操作文件型数据库SQLite_网学

浏览:
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号
POST[''submit''])) {
// make sure both title and author are present
if (!empty( php操作文件型数据库SQLite_网学
浏览:
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号
POST[''title'']) && !empty( php操作文件型数据库SQLite_网学
浏览:
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号
POST[''author''])) {
// generate INSERT query
$insQuery = "INSERT INTO books (title, author) VALUES (\"".sqlite_escape_string( php操作文件型数据库SQLite_网学
浏览:
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号
POST[''title''])."\", \"".sqlite_escape_string( php操作文件型数据库SQLite_网学
浏览:
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号
POST[''author''])."\")";
// execute query
$insResult = sqlite_query($handle, $insQuery) or die("Error in query: ".sqlite_error_string(sqlite_last_error($handle)));
// print success message
echo "<i>Record successfully inserted with ID ".sqlite_last_insert_rowid($handle)."!</i><p />";
}
else {
// missing data
// display error message
echo "<i>Incomplete form input. Record not inserted!</i><p />";
}
}
?>
如果你需要,你也可以使用sqlite_changes()函数发现多少行受到影响(你自己试试然后看看结果)。

sqlite_query()函数 

你会记得,在本教程的开始,我就建议你用SQLite命令行程序初始化library.db数据库。但那并不是唯一的创建新的SQLite数据库的方法(你可以使用PHP自身通过sqlite_query()函数发出必要的CREATE TABLE和INSERT命令来创建)。下面是具体的做法:


<?php
// set path of database file
$db = php操作文件型数据库SQLite_网学

浏览:
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号
SERVER[''DOCUMENT_ROOT'']."/../library2.db";
// open database file
$handle = sqlite_open($db) or die("Could not open database");
// create database
sqlite_query($handle, "CREATE TABLE books (id INTEGER PRIMARY KEY, title VARCHAR(255) NOT NULL, author VARCHAR(255) NOT NULL)") or die("Error in query: ".sqlite_error_string(sqlite_last_error($handle)));
// insert records
sqlite_query($handle, "INSERT INTO books (title, author) VALUES (''The Lord Of The Rings'', ''J.R.R. Tolkien'')") or die("Error in query: ".sqlite_error_string(sqlite_last_error($handle)));
sqlite_query($handle, "INSERT INTO books (title, author) VALUES (''The Murders In The Rue Morgue'', ''Edgar Allan Poe'')") or die("Error in query: ".sq
  • 上一篇资讯: php面向对象oop
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号