PHP-Mysql(mysql, mysqli, pdo)缓冲查询buffered与直接查询unbuffered

MYSQLI

$mysqli  = newmysqli("localhost", "my_user", "my_password","world");
# 非缓存需要在query参数儿设置MYSQLI_USE_RESULT
$result = $mysqli->query("SELECT * FROM table_name", MYSQLI_USE_RESULT);
if ($result) {
   while ($row= $result->fetch_assoc()) {
		print_r($row['Name'] . PHP_EOL);
   }
}
$result->close();

PDO

$dbConfig = array(
   'TYPE'               =>  'mysql', // 数据库类型
   'HOST'               =>  "127.0.0.1"
   'NAME'               =>  'slong', // 数据库名
   'USER'               =>  'root', // 用户名
   'PWD'                =>  'root', // 密码
   'PORT'               =>  3306, // 端口
);

$dsn = "{$dbConfig['TYPE']}:host={$dbConfig['HOST']};port={$dbConfig['PORT']};dbname={$dbConfig['NAME']}";
$dbh = new PDO($dsn, $dbConfig['USER'], $dbConfig['PWD']);
print_r($dbh->getAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY)); // 读取到默认值true
$dbh->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);  // 设置非缓冲
print_r($dbh->getAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY)); // 读取到我们设置的false

$result = $dbh->query("SELECT * FROM table_name");

if ($result) {
   while ($row= $result->fetch(PDO::FETCH_ASSOC)) {
		print_r($row['Name'] . PHP_EOL);
   }
}
$dbh = null;

MYSQL

$conn = mysql_connect("localhost", "my_user", "my_pass");

$db = mysql_select_db("world");
# 缓冲查询mysql_query ;非缓冲查询 mysql_unbuffered_query
$result = mysql_unbuffered_query("SELECT * FROM table_name");

if ($result) {
   while ($row= mysql_fetch_assoc($result)) {
       print_r($row['Name'] . PHP_EOL);
   }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值