PHP MySQL更新已选择的行

时间:2012-02-24 16:03:23

标签: php mysql

这是我以前在Java中做的事情,我想知道PHP中是否存在等效。

在Java中,我会做这样的事情(仅在我过去一年左右生锈时才伪造):

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

这在语法上是广泛的(我打赌它不会编译),但我希望它能解释我能做的事情。不确定它是否保存了实际的数据库查询,但确实使我的代码更加清晰。

所以在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?
    }
}

PHP中是否存在等效的内容?

我正在使用vanilla mysql db方法,而不是mysqli或其他方法(pod或其他什么?)但我认为如果需要,我可以安全地在我们的服务器上使用mysqli。

任何帮助表示赞赏

2 个答案:

答案 0 :(得分:1)

不,您可以将mysql_fetch_object与自定义类名一起使用,并在其上定义一个save()方法,为您运行更新查询。保持逻辑不在循环中并保存在该数据的模型中。或者使用一个完整的ORM库来做这种事情。

答案 1 :(得分:0)

据我所知,如果不运行其他查询,则无法更新行,例如:

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