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
。