如何使用xampp服务器安装sqlite或sqlite 3数据库以及如何使用php脚本或程序使用sqlite或sqlite 3数据库......
答案 0 :(得分:5)
您有两种可能实现这一目标:
在.sql文件中编写DDL语句(CREATE TABLE ...)并使用sqlite命令行执行它(假设您的CREATE TABLE语句位于名为tabledef.sql的文件中):
cat tabledef.sql | sqlite3 yourdbname.db
你绝对应该使用PDO来做到这一点:
$dbh = new PDO('sqlite:/path/to/your/database.db', '', '', array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
));
如果数据库不存在,则创建它。但是您需要对包含数据库的目录进行写访问。如果您只允许对数据库文件进行写访问,则sqlite会失败,因为它还需要在同一目录中创建一个锁文件。
现在您已经建立了连接,您可以使用数据库完成任务,例如执行一些DDL语句:
$dbh->exec("CREATE TABLE IF NOT EXISTS mytable (
mypk INTEGER PRIMARY KEY AUTOINCREMENT,
myvalue TEXT);");
或者如果您需要动态生成SQL语句,请使用预准备语句:
$statement = $dbh->prepare("INSERT INTO mytable (myvalue) VALUES(?)");
$statement->execute(array("hello"));
$statement->execute(array("world"));
这只是一个小概述,有关详细信息,请查看PDO manual和sqlite Documentation。
答案 1 :(得分:3)
好好看看它是否已安装,检查phpinfo()并查看sqlite的驱动程序是否已安装(搜索列表中的“sqlite”),它将分别提及sqlite和sqlite 3。我认为他们都预先安装了XAMPP,所以它应该可行。然后查看sqlite functions的PHP手册,或使用PDO包装器。谷歌是你的朋友。
答案 2 :(得分:2)
在Xampp(v3.2.2)中激活SQLite3。打开xampp/php/php.ini
,取消注释行;extension=sqlite3
(检索;),保存php.ini
并重新启动Xampp服务器。
答案 3 :(得分:1)
您可以使用数据库包装器,这可以使事情变得更容易。
尝试这个,我做到了:
<?php
Class Sqlite3_Wrapper
{
private $sFileName, $oCon=null, $iDebug, $oResult;
private $sDefaultFile = 'default.db';
public function __construct($sFileName, $iDebug=false)
{
$this->setFileName($sFileName);
}
private function showMessage($sMsg)
{
if($this->iDebug != false)
{
$sMessage = (php_sapi_name() == 'cli')?$sMsg."\n":$sMsg.'<br />' ;
echo $sMessage;
}
}
public function setFileName($sFileName)
{
if(is_string($sFileName) && strlen($sFileName)>0)
{
$this->sFileName = $sFileName;
}
else
{
$this->sFileName = $this->sDefaultFile;
}
}
public function openDB($sFileName=false)
{
if($sFileName!==false)
{
$this->setFileName($sFileName);
}
try
{
$this->oCon = new SQLite3($this->sFileName);
}catch(Exception $oEx)
{
$this->showMessage($ex->getMessage());
}
}
public function closeDB()
{
if($this->oCon!=null)
{
$this->oCon->close();
$this->oCon = null;
}
}
public function executeCUDQuery($sQuery)
{
if($this->oCon==null)
{
$this->showMessage('Not connected to database');
}
else
{
try
{
$this->oCon->exec($sQuery);
}catch(Exception $ex)
{
$this->showMessage($ex->getMessage());
}
}
}
public function executeQuery($sQuery)
{
$this->oResult = null;
if($this->oCon==null)
{
$this->showMessage('Not connected to database');
}
else{
try
{
$this->oResult = $this->oCon->query($sQuery);
}catch(Exception $oEx)
{
$this->showMessage($oEx->getMessage());
}
}
return $this->oResult;
}
public function fetch($iMode=SQLITE3_NUM)
{
$aData = array();
try
{
$aData = $this->oResult->fetchArray($iMode);
}
catch(Exception $oEx)
{
$this->showMessage($oEx->getMessage());
}
return $aData;
}
}
?>
或获取文件:
希望它会有所帮助。