<?php
$db = db::conn();
var_dump($db->setAttribute(PDO::ATTR_EMULATE_PREPARES,true));
$rs=$db->prepare('select name from user where uid=?');
$rs->execute(array('1 or uid=4'));
var_dump($rs->fetchAll(db::ass));
$rs=$db->prepare('select name from user where name=?');
$rs->execute(array('老虎会游泳\' or name=\'阿忍'));
var_dump($rs->fetchAll(db::ass));
?>
结果让我欣慰:
bool(true)
array(1) { [0]=> array(1) { ["name"]=> string(15) "老虎会游泳" } }
array(0) { }
第一个查询能出现结果是因为intvar('1 or uid=4')的结果是1。
看了某些人的测试,我不再确信它的默认值是false了。