ProcessWire模板引擎中连接MySQL执行原生SQL查询的方法

在Web项目中,我们经常需要调用自身系统外的数据库,本文介绍使用ProcessWire连接任意数据库并执行原生SQL语句实现增删改查的方法。

#Option1 非局限于连接自身数据库,可连接任意MySQL数据库

连接数据库

$mydb = new Database('localhost', 'root', 'pass', 'test'); 
$mydb->query("SET CHARACTER SET utf8");

创建记录

$sql = "INSERT INTO user(name,password,email) VALUES('pete','password1','[email protected]')";
$query = $mydb->prepare($sql);
$query->execute();

查询数据

$result = $mydb->query("SELECT * FROM user");     
while($row = $result->fetch_assoc()) {
  print_r($row); 
}

更新数据

$sql = "UPDATE user SET password='password2' WHERE name='pete'";
$query = $mydb->prepare($sql);
$query->execute();

删除数据

$sql = "DELETE FROM user WHERE name='pete'";
$query = $mydb->prepare($sql);
$query->execute();

#Option2 连接PW数据库

使用自带的$database API即可,简单方便

$sql = "sql query";
$query = $database->prepare($sql);
$query->execute();

实际上PW系统在数据库达到一定量的情况下使用Api进行复杂调用性能会下降很多的,笔者在这里推荐根据实际情况使用原生sql

Tip: 关于更多php pdo对象查询数据库的使用方法可参考此文

Post Comment