2016-08-25 114 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