2016-08-25 132 views
-2

在我的网页a.php只会,我准备这样的查询:SELECT * FROM table WHERE id = ?PDO预处理语句 - 跨页

而且我可以在这个页面中使用相同的PDO预处理语句,我知道。

但是,如果其他页面B.php也需要相同的查询。

我需要准备再次查询吗?

或者我该如何使用相同的PDO Prepared语句。

或者当我准备相同的查询时,服务器会自动知道准备好了吗?


现状:

如果我有一个数据库的网站,则有数百页加载数据,就像同样的方式。

当用户打开每个页面时,查询将每次发送。

如何更明智地构建页面?


我不是在寻找使用相同的“STRING”的查询;

我的意思是说准备好了报表,我不用$ PDO->再次准备。

可能吗?

+0

你要么需要到查询添加到'B.php',或将查询放在一个单独的文件,即。 'includes.php',并将其包含在'A.php'和'B.php'中。 – Sean

+0

但是我怎么能通过最后的Prepared语句? – fire790620

+0

您了解PHPs处理模型的工作原理吗?每个请求都没有任何分配的资源和先前的变量。你如何想象/去重复使用A.php和B.php之间准备好的$ statement/handle/object? – mario

回答

2

根据定义PHP脚本是独立的。因此,当您加载A.php时,您必须连接到数据库并运行您的查询。当A.php完成处理后,PHP将关闭连接。

当加载B.php你将不得不做同样的事情

+0

所以,PDO Prepared语句可以'跨页面使用? – fire790620

+0

不可以。您可以通过包含重复查询,但准备好的语句需要打开连接到您的数据库 – Machavity

+0

我编辑了有关我的网站的情况,是否有解决方法?或者,这只是准备查询每一页的唯一方法? – fire790620