Php 递减数据库中特定列的值
以下是代码的一部分:Php 递减数据库中特定列的值,php,mysql,sql,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=
$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'];
$query1=“从表4中选择*,其中dr_id='{$drid}';
$result1=mysql\u查询($query1,$con);
$values1=mysql\u fetch\u数组($result1);
回显“
”$values1['mor_max'];
$i=$values1['mor_max'];
$i--;
回声“
”$i;
$query2=“updatetable4 SET mor_max=$i,其中dr_id='{drid}';
$result2=mysql\u查询($query2,$con);
$values2=mysql\u fetch\u数组($result2);
回声“
”$values2['mor_max'];
在更新查询中使用$i不会产生错误。可以吗?我是php的新手,所以请帮助我。
我得到的另一个警告是“mysql\u fetch\u array()期望参数1是资源,给定布尔值”。请建议更有效的方法来执行此操作。减少此查询就足够了:
UPDATE table4 SET mor_max=mor_max-1 WHERE dr_id='{drid}'
您可以在查询中轻松做到这一点
$query = "UPDATE table4 SET mor_max= mor_max -1 WHERE dr_id='{$drid}'";
mysql_query($query, $con);
$query1=“从表4中选择*,其中dr_id='{$drid}';
$result1=mysql\u查询($query1,$con);
$values1=mysql\u fetch\u数组($result1);
回显“
”$values1['mor_max'];
$i=$values1['mor_max'];
$i--;
回声“
”$i;
$query=“updatetable4 SET mor_max=$i,其中dr_id='{drid}';
$result=mysql\u查询($query2,$con);
$query2=“从表4中选择*,其中dr_id='{$drid}'”;
$result2=mysql\u查询($query1,$con);
$values2=mysql\u fetch\u数组($result2);
回声“
”$values2['mor_max'];
此代码将起作用。
您得到的是“mysql\u fetch\u array()期望参数1是资源,布尔给定的”,因为您正在第二个查询中更新,并试图通过更新数据库的方式获取相同的查询。
之后,您应该使用select语句,您可以在要求参数为resource的特定查询上使用mysql_fetch_array()。不要再使用mysql扩展(特别是在创建新项目时)!切换到MySQLi或PDO。关于您的错误消息,您是否已经搜索过Internet?这是很普遍的。好的,明白了。谢谢!。但是我如何打印新mor_max的值呢?您必须在第二次查询中选择它…请澄清..意味着我需要再次调用select query@Lajos Veresyes。您必须再次调用select查询。
$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'];