php必须execute()区别,本文主要是分析PHP中exec()和execute()方法的用法和区别,以方便在之后的工作中更加的深入了解。其中exec()函数主要是执行一条SQL语句,并返回受影响...

本文详细介绍了PHP中PDO的exec()和execute()方法的使用和差异。exec()用于执行SQL更新操作并返回受影响行数,不返回结果集;execute()则用于执行预处理语句,常与prepare()配合使用,返回执行成功或失败标志。预处理执行能提升性能,并且execute()支持参数绑定,增强安全性。
摘要由CSDN通过智能技术生成

本文主要是分析PHP中exec()和execute()方法的用法和区别,以方便在之后的工作中更加的深入了解。其中exec()函数主要是执行一条SQL语句,并返回受影响的行数,但此函数不会返回结果集合。而execute()函数则是用于执行已经预处理过的语句,并且只是返回执行结果成功或失败。

一、官网分析1、PDO::exec

— Execute an SQL statement and return the number of affected rows

2、PDOStatement::execute

— Executes a prepared statement

二、用法的区别1、exec示例用法

$sql = "UPDATE table SET name='book' WHERE id > 8";

$result = $db->exec($sql);

echo '影响行数:' . $result;

2、execute示例用法

$id = 9;

$sth = $db->prepare('SELECT * FROM table WHERE id < :id');

$sth->execute(array(

':id' => $id

));

$result = $sth->fetchAll(PDO::FETCH_ASSOC);

print_r($result);

3、execute的多次运行,预处理有助于性能的提升

$sth = $db->prepare("SELECT * FROM table WHERE id = :id");

$sth->execute(array(

':id' => '6'

));

$result = $sth->fetchAll(PDO::FETCH_ASSOC);

print_r($result);

echo "
".'换行1'."
";

$sth->execute(array(

':id' => '8'

));

$result = $sth->fetchAll(PDO::FETCH_ASSOC);

print_r($result);

echo "
".'换行2'."
";

三、执行方法的区别1、exec()是PDO类的方法,它和PDO::query地位是并列的。

2、execute()是PDOStatement类的方法。

四、返回结果的区别1、PDO::exec()函数是执行一条SQL语句,并返回受影响的行数,注意:此函数不会返回结果集合。

2、PDOStatement::execute()函数是用于执行已经预处理过的语句,需要配合prepare()函数使用,成功时返回 TRUE,失败时返回 FALSE。

五、执行安全的区别1、exec()方法需要对开发者自行对输入的sql语句进行安全检查。

2、execute()方法支持绑定参数,无需考虑安全问题,使用时稍微麻烦一些。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值