使用php更改mysql数据库中的值

时间:2012-08-22 14:10:31

标签: php mysql

我有以下代码:

$do_id=$_GET['id'];
$new_workorder=$_GET['workorder'];

//get current workorder on file for record that will be updated
$query = "SELECT workorder FROM jvltodos WHERE id = '$do_id' LIMIT 1";
$bla = mysql_query($query);
$workorder_old = mysql_fetch_row($bla);

//get record for workorder on file that will have the new workorder
$query = "SELECT id FROM jvltodos WHERE workorder = '$new_workorder' LIMIT 1";
$bla = mysql_query($query);
$id_fix = mysql_fetch_row($bla);

if (isset($new_workorder) && $new_workorder!=$workorder_old) {
    //update the changed record
    $query = "UPDATE jvltodos
        SET workorder={$new_workorder}
        WHERE id = {$do_id}";
    $result = mysql_query($query);

    //update the record that had the old workorder
    $query = "UPDATE jvltodos
        SET workorder={$workorder_old}
        WHERE id = {$id_fix}";
    $result = mysql_query($query);
}

我将'id'和'workorder'传递给url,所以我首先获取它们。然后我将带有'id'的记录更新为新的'workorder'。到现在为止还挺好。 但我想找到具有'workorder'的记录,并使用旧'id'中的'workorder'更新该记录。 (简单来说:当我增加/减少'workorder'时,我想要切换两个记录) 对我来说,它看起来非常简单,但它不起作用。第一件事(用新的工作订单更新id工作..但另一条记录保持不变..它保留已经存在的工作顺序) 我错过了什么? (一定是简单的,我只是忽略了。)

1 个答案:

答案 0 :(得分:0)

@andrewsi感谢您的建议!我把代码拿出来,把它复制到另一个页面并做了一些回声,看看发生了什么,这样我就很容易理解问题是什么。

实施例:     $ bla = mysql_query($ query);     $ workorder_old = mysql_fetch_row($ bla);

我想要的$ workorder_old应该是一个数字。然而,这没有发生,但返回..一个数组。 当我将代码更改为...

$bla = mysql_query($query);
$bla = mysql_fetch_row($bla);
$workorder_old = $bla[0];

......它就像一个魅力。

微小的注意:我已经习惯于在一步(另一种语言)中抓取数据,我忘记了我需要在PHP中做一些步骤。猜猜是时候把它扔进一个函数中了......: - )