日期:2014-05-16  浏览次数:20659 次

CMSPAD的数据库支持SQL预编译和批量执行特性了。
CMSPAD 1.2 版开始,系统在支持数据库集群和主从数据库基础上,开始支持SQL预编译和批量执行特性了,下面看看如何执行吧:

<?php
require_once './kernel/global.php';
$db = cmspad_database();

// 执行一条SQL语句
$db->query('SELECT * FROM hello'); 

// 批量执行SQL语句
$db->addBatch('UPDATE hello SET world = 1 WHERE id = 7');
$db->addBatch('UPDATE hello SET world = 2 WHERE id = 8');
$db->addBatch('UPDATE hello SET world = 3 WHERE id = 9');
$db->executeBatch();

// 预编译SQL语句
$stmt = $db->prepare('SELECT * FROM hello WHERE id = ?');
$stmt->setInteger(0, 7);
$resultSet = $stmt->execute();
$stmt->close();
?>
1 楼 abin30 2008-10-18  
我还是没有搞明白,你的所谓的预编译的具体含义时什么? 
2 楼 yipsilon 2008-10-18  
abin30 写道

我还是没有搞明白,你的所谓的预编译的具体含义时什么?

你可以在JavaEye里查找PreparedStatement的好处,目前我所认为最直接的好处就是:

1. 防止恶意SQL注入。
2. 对于某些数据库可以提高执行效率,如Oracle、MySQL5。