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;
                $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 是资源,给定的布尔值”。请提出更有效的方法来做同样的事情。

4

3 回答 3

2

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

UPDATE table4 SET mor_max=mor_max-1 WHERE dr_id='{drid}'
于 2013-10-23T16:31:02.540 回答
0

您可以在查询中轻松执行此操作

$query = "UPDATE table4 SET mor_max= mor_max -1 WHERE dr_id='{$drid}'";
mysql_query($query, $con);
于 2013-10-23T16:33:30.870 回答
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() 。

于 2013-10-23T16:46:50.587 回答