繁体   English   中英

我是否需要在每次打开时准备语句,还是只能在PDO PHP SQLite3中准备一次

[英]Do I need to prepare statement on every open or can prepare only once in PDO PHP SQLite3

我在网上找到了这个示例,可以使用PHP PDO在SQLite中插入

# no placeholders - ripe for SQL Injection!  
$STH = $DBH->("INSERT INTO folks (name, addr, city) values ($name, $addr, $city)");  

# unnamed placeholders  
$STH = $DBH->("INSERT INTO folks (name, addr, city) values (?, ?, ?); 

# named placeholders 
$STH = $DBH->("INSERT INTO folks (name, addr, city) value (:name, :addr, :city)"); 

我将在每个命令后关闭连接(另一个应用程序仅读取并且仅挖掘插入内容)。 我是否需要在每次开仓时准备陈述,还是只能准备一次?

$userprep = $userdbc->prepare("
    INSERT INTO Users (userID, userPass, userName, userEmail)
    VALUES (:userID, :userPass, :userName, :userEmail)
");
$userprep->execute($newUser);

这是我的使用占位符插入新用户的代码示例。

$newUser是一个关联数组。

一旦准备好一条语句,就可以执行任意次该语句,例如,如果我有一个嵌套的用户数组要输入,我可以运行以下命令:

for($i = 0; $i < count($newUser); $i++){
    $userprep->execute($newUser[$i]);
}

(嵌套数组当然必须使用关联键)

希望这个对你有帮助..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM