减少数据库中特定列的值

时间:2013-10-23 16:26:19

标签: php mysql sql

以下是代码的一部分:

$query1 = "SELECT * FROM table4 WHERE dr_id='{$drid}'";  
                $result1=mysql_query($query1,$con);
                $values1= mysql_fetch_array($result1);
                echo "<br>".$values1['mor_max'];
                $i=$values1['mor_max'];
                $i--;
                echo "<br>".$i;
                $query2="UPDATE table4 SET mor_max= $i WHERE dr_id='{drid}'";

                $result2=mysql_query($query2,$con);

                $values2= mysql_fetch_array($result2);
                echo "<br>".$values2['mor_max'];

在更新查询中使用$ i不会出错。这可以吗 ?我是php的新手,所以请帮忙。 另外警告我得到的是“mysql_fetch_array()期望参数1是资源,布尔给定”。请建议更有效的方法。

3 个答案:

答案 0 :(得分:2)

对于递减此查询应该足够了:

UPDATE table4 SET mor_max=mor_max-1 WHERE dr_id='{drid}'

答案 1 :(得分:0)

您可以在查询中轻松完成此操作

$query = "UPDATE table4 SET mor_max= mor_max -1 WHERE dr_id='{$drid}'";
mysql_query($query, $con);

答案 2 :(得分:0)

$query1 = "SELECT * FROM table4 WHERE dr_id='{$drid}'";  
                $result1=mysql_query($query1,$con);
                $values1= mysql_fetch_array($result1);
                echo "<br>".$values1['mor_max'];
                $i=$values1['mor_max'];
                $i--;
                echo "<br>".$i;
                $query="UPDATE table4 SET mor_max= $i WHERE dr_id='{drid}'";
                $result=mysql_query($query2,$con);
$query2 = "SELECT * FROM table4 WHERE dr_id='{$drid}'";
                $result2 = mysql_query($query1,$con);
                $values2= mysql_fetch_array($result2);
                echo "<br>".$values2['mor_max'];

此代码可以使用。 你得到“mysql_fetch_array()期望参数1是资源,布尔给定”因为你在第二个查询中更新并尝试通过更新数据库的方式获取相同的查询。 你应该使用select语句,之后你可以在需要参数为资源的特定查询上使用mysql_fetch_array()。