2012-02-24 99 views
1

這是我以前在Java中所做的,我想知道PHP中是否有equivelant。PHP MySQL更新已選擇的行

在Java中,我會做這樣的事情(僞僅因爲我已經在去年得到生鏽或左右):

preparedStatement = new StringBuilder("SELECT something FROM somewhere"); 
ResultSet rs = preparedStatement.executeQuery(); 
while(rs.next()) 
{ 
    if (someTest) 
    { 
     rs.updateRow[1]="someNewValue"; 
    } 
} 

這是很離譜的語法(和我打賭它不會編譯),但我希望它能解釋我能夠做的事情。不知道它是否保存了運行中的實際DB查詢,但它確實使我的代碼更清晰。

所以在PHP中,我有這樣的事情:

$query = "SELECT something FROM somewhere"; 
$result = mysql_query($query, $db); 
while ($row = mysql_fetch_assoc($result)) 
{ 
    if (someTest) 
    { 
     //how can I update this row without coding another query? 
    } 
} 

是否有equivelant這在PHP?

我使用的是香草的mysql數據庫方法,而不是mysqli或那個其他的(莢或什麼?),但我想如果我需要我可以安全地使用mysqli在我們的服務器上。

任何幫助表示讚賞

回答

1

沒有,但是你可以使用mysql_fetch_object一個自定義的類名,並確定就可以了save()方法將運行更新查詢你。將邏輯保留在循環之外並保存在該數據的模型中。或者使用一個完整的ORM庫來完成這種事情。

+0

這是一個非常優雅的解決方案(定製save()方法) - 如果我有時間,我我想我會嘗試。代碼方式會很有趣,謝謝:) – jammypeach 2012-02-24 16:10:21

0

據我所知,你不能沒有再次進行查詢,如更新該行:

UPDATE table SET column1="value" WHERE (column2="value");