2011-07-26 31 views
0

讓我先說我對教條一無所知,但在我的新位置上,我們在各處使用它(不知道爲什麼......)。無論哪種方式,這裏的PHP和MySQL的語句我想變成一個學說聲明:在Doctrine中寫入以下mySQL請求

$find_vac = mysql_query("SELECT Vacancies FROM States WHERE Abbreviation = '".$state."'"); 

我認爲這觸發了我的部分是其中的縮寫是一個變量。任何幫助將不勝感激!!!

UPDATE:

$res = Doctrine_Query::create() 
->select('Vacancies') 
->from('States') 
->where('Abbreviation = ?', $state) 
->execute(); 
$vacancies = $res[0]->getVacancies(); 

上述返回一個錯誤。

echo $res['Vacancies']."<br />"; 

這不管返回數字4被選擇哪個狀態(即使在當時所有狀態的範圍從0-3爲空位的數量)。

回答

0

像這樣的東西應該這樣做。變量可以以與預準備語句相同的方式插入到查詢中。

$res = Doctrine_Query::create() 
    ->select('Vacancies') 
    ->from('States') 
    ->where('Abbreviation = ?', $state) 
    ->execute(); 

編輯:這會給你的States在陣列形式的陣列符合搜索條件的。如果你只是想拿到第一個的空缺值,你可以這樣說:

$vacancies = $res[0]['Vacancies']; 

或者當然,你還需要檢查$res[0]存在,本身就是萬一假數組或者不存在$state

+0

但結果我不知道該怎麼處理。它應該返回一個數字,並回應,不會返回我所期望的...我怎樣才能讓它給我一個數字? – Casey

+0

我編輯了我的答案,看看能否幫助您獲得正確的價值。 – Kaivosukeltaja

+0

更新後的代碼會引發錯誤...以下是更多信息。顯然這是一個狀態列表,縮寫是通過另一個頁面上的表單傳遞的,這是$ state變量。我需要找到那個州的空缺數量。我不知道如何教條輸出這個代碼。我試過:echo $ res ['Vacancies'];這導致數字4(對於所有州),這是不正確的。 – Casey