2010-11-16 179 views
0

我正在創建一個調試模塊,它允許用戶在主動觀看頁面如何更改時進行單線ajax調用。問題是如果用戶正在嘗試進行數據庫調用。通過ajax調用保持數據庫連接打開

用戶可以運行函數mysql_connect(),但是一旦ajax調用完成,該連接立即關閉。有沒有辦法保持連接打開?我看了一下mysql_pconnect(),但似乎沒有做到我想要的。

謝謝

+2

保持數據庫連接打開的要點是什麼? – 2010-11-16 19:59:43

+1

如果您想通過確保所有連接都已綁定來減少/終止可伸縮性,請繼續。 – Oded 2010-11-16 20:05:19

+0

如果你真的讀過我的文章,你會注意到這是一個調試模塊。這個項目的整個目的是幫助設計一個頁面 - IE:當沒有其他用戶連接時。在localhost上運行時,可伸縮性毫無意義。 – jwegner 2010-11-16 20:49:54

回答

0

我必須迷路。一旦腳本運行,連接應該關閉,gc應該在服務器上清理它。否則,你會遇到一些內存問題。

此外,Ajax調用不應該進行任何數據庫連接,而應該在服務器上運行腳本。同樣,該腳本應該在完成後關閉連接。

我想我真的不明白你遇到的問題。

+0

你完全正確。腳本運行,然後連接關閉並清理。這是我想要停止的。我希望用戶調用連接到數據庫的ajax腳本,然後腳本結束。然後用戶調用另一個從數據庫中提取數據的腳本 - 但我需要他們使用它們在第一個腳本中創建的相同連接來獲取這些數據。實質上,我需要一個在整個用戶會話中持續存在的數據庫連接。 – jwegner 2010-11-16 20:46:22

0

如果你確實需要保持連接打開,我會考慮設置你從mysql_connect()獲得的任何返回值作爲用戶會話值(聲明:我不知道PHP,這是我假設你的使用)。然後每個AJAX請求測試存在並重用(如果已經存在)。但是,如果您所面臨的實際問題是維持某種特定於連接的暫時狀態,我將重新考慮設計並在與用戶會話中的某種唯一標識符相關的連接之間執行一些操作。