需要在select语句后更新数据数组

时间:2011-08-16 12:58:50

标签: php mysql database select

我有一个SELECT语句(见下文),它从mysql数据库中获取一些项目并显示它们。

我需要脚本在使用代理变量选择它们后立即更新所选项目,这样当另一个用户运行相同的脚本时,他们只会获得没有为其分配代理的记录。

所以基本上我需要运行一个更新命令,但只能运行那个select语句提取的记录。

$agent = $_GET['agent'];
$con = mysql_connect($host,$user,$pass);
$dbs = mysql_select_db($databaseName, $con);
$result = mysql_query("SELECT * FROM $tableName WHERE processed = '0' AND agent IS NULL LIMIT 5");
$array_data = array();
while ($row = mysql_fetch_array($result)){
    $array_data[] = array($row[0], $row[1], $row[2], $row[3], $row[4]);
}
echo json_encode($array_data);

1 个答案:

答案 0 :(得分:0)

用这个扩展你的时间:

while ($row = mysql_fetch_array($result)){
        $array_data[] = array($row[0], $row[1], $row[2], $row[3], $row[4]);
        mysql_query("UPDATE $tableName SET agent = 'whateverValueYouNeedHere' WHERE primary_key = $row[theNumberOfYourPrimaryKey]");
}

在上面的选择查询中,您必须确保还提取了主键(可能是$row[0])。然后,您可以通过其主键更新记录。