在PHP与SQLite的结合使用中,我们首先需要在PHP项目中引入SQLite扩展,安装好PHP环境后,可以通过以下命令来安装SQLite扩展:
pecl install sqlite3
安装完成后,需要在php.ini文件中添加以下行以启用扩展:
extension=sqlite3.so
我们可以使用以下代码来创建一个SQLite数据库:
<?php $db = new SQLite3('test.db'); if ($db) { echo "Opened database successfully\n"; } else { echo "Error opening database: " . $db->lastErrorMsg() . "\n"; } ?>
在这个例子中,我们创建了一个名为test.db
的数据库文件,如果数据库文件不存在,SQLite会自动创建一个新的文件,如果文件已经存在,SQLite会打开现有的文件。
我们可以使用以下代码来创建一个表并插入数据:
<?php $db = new SQLite3('test.db'); $db->exec("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)"); $stmt = $db->prepare("INSERT INTO users (name, age) VALUES (?, ?)"); $stmt->bindValue(1, '张三'); $stmt->bindValue(2, 25); $stmt->execute(); echo "Data inserted successfully\n"; ?>
在这个例子中,我们创建了一个名为users
的表,包含三个字段:id
、name
和age
,我们插入了一条记录,表示用户名为“张三”,年龄为25岁。
我们可以使用以下代码来查询数据:
<?php $db = new SQLite3('test.db'); $result = $db->query('SELECT * FROM users'); while ($row = $result->fetchArray()) { echo "ID: " . $row['id'] . " Name: " . $row['name'] . " Age: " . $row['age'] . "\n"; } ?>
在这个例子中,我们执行了一个查询语句,从users
表中获取所有记录,我们遍历查询结果,并输出每条记录的详细信息。
我们可以使用以下代码来更新数据:
<?php $db = new SQLite3('test.db'); $stmt = $db->prepare("UPDATE users SET age = ? WHERE name = ?"); $stmt->bindValue(1, 26); $stmt->bindValue(2, '张三'); $stmt->execute(); echo "Data updated successfully\n"; ?>
在这个例子中,我们更新了名为“张三”的用户年龄为26岁,注意,我们在更新语句中使用了占位符(?
),并通过bindValue()
方法将实际值绑定到占位符上,这样可以防止SQL注入攻击。
还没有评论,来说两句吧...