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

使用php更改mysql数据库中的值,php,mysql,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_

我的代码如下:

$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”时,我想切换两条记录) 对我来说,这看起来很简单,但不起作用。第一件事(用新的workorder更新id有效..但另一条记录保持不变..它保留已经存在的workorder)
我错过了什么?(一定是我忽略的简单的东西。)

@andrewsi谢谢你的建议!我把代码拿出来,复制到另一个页面上,做了一些回音,看看发生了什么,这样我就很容易找到问题所在

例如: $bla=mysql_query($query); $workorder\u old=mysql\u fetch\u行($bla)

我想要的$workorder_old应该是一个数字。然而,这并没有发生,而是回来了。。数组。 当我把代码改成

$bla = mysql_query($query);
$bla = mysql_fetch_row($bla);
$workorder_old = $bla[0];
。。。它就像一个符咒


小提示:我太习惯于用一步(另一种语言)获取数据了,以至于我忘记了我需要用PHP做几个步骤。我想是时候把它放到函数中了也许…-)

您是否尝试回显正在生成的SQL以确保它看起来像您认为应该的那样?这可能无助于回答您的问题,但您应该停止使用
mysql.*
函数。他们被弃用了。改为使用(从PHP5.1开始支持)或(从PHP4.1开始支持)。如果你不确定该用哪一个,@Fluffeh你知道我会把你推荐给@Matt,回答时尽量不要看接受率,但我知道有些人会的。只需指出礼节就可以了——这可能会对小伙子有所帮助(注意mod在+52处对你链接的问题的第二条评论)。