2015-04-21 61 views
3

我已經建立了一個查詢($query_q = "SELECT * FROM `table`;"),並試圖在一個函數內執行它。MySQL查詢將不會執行 - 類 - >功能 - >表格

public function read_from_table() { 
    $query_q = "SELECT * FROM `table`"; 
    $query_a = mysql_query($query_q); 
    while (mysql_fetch_array($query_a)) { 
     echo "Did it!"; 
     //OR AS TRIED ANOTHER WAY 
     return "Did it!"; 
    } 
} 

並稱爲例如:

echo $classInstance->read_from_table(); 
//OR AS TRIED ANOTHER WAY 
$classInstance->read_from_table(); 

無論該函數和類已經取得了每一個可能的方法都試過了,但我仍然沒有得到結果的方式。
我得到的錯誤說執行時間超過了30秒的限制,所以我加了ini_set('max_execution_time', 0);(知道這完全消除了時間限制)來查看查詢是否可以執行,它現在已經運行了30沒有生命跡象的分鐘。爲什麼查詢沒有執行?

附加註釋:

  • 我知道,我現在用的折舊mysql_ *功能,這是在客戶端的請求,該網站已經取得了活後會更新,並完成一個點我準備將其全部更改爲mysqli - > *函數。
  • 我正在調用的表(它的名稱已被剝離並替換爲`table`)只有9行,所以這應該不會大大影響執行時間(或將它?)。
  • 我不得不從功能中去除所有敏感信息以滿足客戶和我的僱主。請記住,我不能透露客戶和我的僱主不希望透露的信息。
+0

確定的鏈接已成功'的mysql_connect()打開'在這之前? –

+0

正如我所看到的,這段代碼沒有問題。所以如果數據庫連接,它應該工作。也許在那些被刪除的信息中有東西。如果你只是運行這個代碼片段,它有效嗎?另外,使用文件頂部的'error_reporting(E_ALL);'和'ini_set('display_errors',1);'來檢查錯誤是什麼。 – vaso123

+0

你也可以這樣做:在每一行或一段代碼之後放置一個'echo「步驟」,這樣你就可以看到代碼正在做什麼。也許這根本不是查詢? –

回答

1

問題是互聯網和服務器已經關閉。

這已經被排序和運作。

感謝您的幫助和支持。

DigitalMediaMan

0

嘗試

error_reporting(E_ALL); 

如果一切ok,嘗試從控制檯運行此查詢,看看,有多少次查詢將被執行

在此之前,在數據庫殺老工藝(SHOW PROCESSLIST和殺pid)