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

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'];

このコードは機能します。2番目のクエリで更新していて、データベースを更新しているのと同じクエリをフェッチしようとしているため、「mysql_fetch_array()はパラメーター1がリソースであると想定しています。パラメータがリソースである必要がある特定のクエリで mysql_fetch_array() を使用できるようになった後、select ステートメントを使用する必要があります。

于 2013-10-23T16:46:50.587 に答える