1:PDO使用准备好的语句,其中准备的含义是我在许多函数中使用它我认为,并且我们为许多函数准备它。然后我只想知道我应该在我的所有函数中使用不同的SQL查询函数或我应该在我的init.php文件的第一点定义许多查询(包括函数和与db的连接),然后在每个函数中将它们传递给函数以使用这些查询?只是我所描述的一个例子:
$query1 = "Insert into names(id,name) values (:id,:names)"
$query2 = "insert into games(id,name) values (:id,:names)"
然后是像这样的函数somtihing
function job($query){
//do the job
}
我问这个问题,因为我在某个地方读过,我必须在多个地方使用这个准备好的语句,如果它真的如何在函数中使用一些独特的查询?
2:我可以使用这个:id:两个准备好的声明中的名字?还是我必须设置唯一的名字?
$query1 = "Insert into names(id,name) values (:id,:names)"
$query2 = "insert into games(id,name) values (:id,:names)"
他们不会互相冲突吗?
答案 0 :(得分:2)
我当然不会在一个地方定义我的所有查询以供以后使用 - 我会将查询放在他们将要使用的位置;如果你将它们命名为query1
,query2
等,尤其可能会让人感到非常困惑。
如果您具有单独准备的相同查询,则可以使用相同的令牌而不会出现任何问题:
$stmt1 = $db->prepare($query1);
$stmt2 = $db->prepare($query2);
您可以为:id
和:name
绑定完全不同的值stmt1
和stmt2
。
答案 1 :(得分:1)
如果你在每个查询之后绑定:id和:name就可以了,但是如果你在声明两个查询语句后只绑定它们一次,那么最后一个绑定语句将覆盖这些值。如果你愿意,你可以创建一个处理查询的函数,我个人每次都会写出查询,以便在我需要最后一刻更改的情况下关注我正在做的事情,但这样可以简化你的工作。< / p>