run-6ren">
gpt4 book ai didi

php - 传递数据类型和在没有它们的情况下执行数组之间的区别

转载 作者:可可西里 更新时间:2023-11-01 07:05:01 24 4
gpt4 key购买 nike

我只想知道这两套代码是否在做同样的事情,如果不是有什么区别?

$connect= new CONNECT();
$sql = ("query here");
$stmt = $connect->runQuery($sql);
$stmt->bindParam(':sample', $_POST['sample'], PDO::PARAM_STR);
$stmt->bindParam(':sample2', $_POST['sample2'], PDO::PARAM_STR);
$stmt->bindParam(':sample3', $_POST['sample3'], PDO::PARAM_STR);
$stmt->execute();

=======================AND======================= =

$connect= new CONNECT();
$sql = ("query here");
$stmt = $connect->runQuery($sql);
$stmt->execute(Array(
':sample1' => $_POST['sample'],
':sample2' => $_POST['sample2'],
':sample3' => $_POST['sample3']
));

仅供引用,两者都运行良好,只是想知道我是否使用其中任何一个获得了完整的安全优势。谢谢。

最佳答案

通过将参数与 $stmt->execute() 方法一起传递,数组中的所有值都将作为 PDO::PARAM_STR 传递给语句使用 $stmt->bindParam() 函数。

通过 $stmt->bindParam() 函数,您可以定义传递的数据类型,使用 PDO::PARAM_*

阅读更多关于 PDO::PARAM_ 的信息

关于php - 传递数据类型和在没有它们的情况下执行数组之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46422797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com