Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 与更新表中的数量相关的错误_Php_Mysql_Sql_Html Table_Http Post - Fatal编程技术网

Php 与更新表中的数量相关的错误

Php 与更新表中的数量相关的错误,php,mysql,sql,html-table,http-post,Php,Mysql,Sql,Html Table,Http Post,我需要你的帮助来解决这个问题,在我的脚本,因为我正试图 基于更新products表中产品的数量 从第一页通过post获取信息。 看起来一切正常,但表中的数量没有更新。 表中已包含此产品的一些数量 第1页: $selectP="select prodid, prodname, prodtype from products where prodtype = 'BP'"; $result=mysql_query($selectP) or die (mysql_error()); echo "&l

我需要你的帮助来解决这个问题,在我的脚本,因为我正试图 基于更新products表中产品的数量 从第一页通过post获取信息。 看起来一切正常,但表中的数量没有更新。 表中已包含此产品的一些数量

第1页:

 $selectP="select prodid, prodname, prodtype from products where prodtype = 'BP'";
 $result=mysql_query($selectP) or die (mysql_error());
 echo "<form method=POST action=quantupdate.php>";
 echo "<center><table border=1 cellpadding=5>";
 echo "<tr><td>Select a Product to Update Quantity in Stock </td>";
 echo "<td>";
 echo "<select size=\"1\" name=\"product_selection\" id=\"product_selection\">";
 echo "<option value=\"0\">- Product -</options>";

 while($row = mysql_fetch_array($result)) {

 echo "<option value='".$row['prodid']."'>".$row['prodname']."</option>";
 }

 echo "</select>";




 echo "<tr><td>Select Quantity </td>";

 echo "<td>";
 echo "<select size=\"1\" name=\"pq\" id=\"pq\">";
 echo "<option value=\"0\">Select Qty</options>";
 echo "<option value=\"5\">5</options>";
 echo "<option value=\"10\">10</options>";
 echo "<option value=\"20\">20</options>";               
 echo "<option value=\"30\">30</options>";

 echo "</select>";



 echo "<tr><td><input type=submit name=submit id=submit value='Update Now'></td>";
 echo "<td><input type=reset value='Clear Form'></td></tr>";
 echo "</table></center>";
 echo "</form>" ;
看起来一切正常,并没有错误消息,但表并没有用新数量更新


请帮忙

修复您的更新查询:

$updatequantity="UPDATE products 
    SET prodquantity = '".$quantity."'   WHERE prodname = '".$bprod."';";
您需要在MySQL中的字符串中使用引号,否则它们将被视为列名

请记住,使用来自$\u POST/$\u REQUEST/$\u GET的未scaped值可能非常不安全。

例如,使用以下方法来转义您的值:

$quantity = mysql_escape_string($qunatity);
$bprod = mysql_escape_string($bprod);

您的更新查询有问题。您试图通过
prodname
更新记录,但将
prodid
传递给它,因为
$\u POST['product\u selection']
变量包含选项的值,在您的情况下,该值为
prodid

而且

echo "<option value=\"0\">- Product -</options>";

谢谢你们,我已经尝试了托梅克和你们的选择,但仍然不起作用。你说得对,我的更新查询有问题。我会改变这一点,看看它是否管用。聪明的家伙,它管用了。再次感谢你们两位的帮助。
echo "<option value=\"0\">- Product -</options>";
echo "<option value=\"0\">- Product -</option>";
$updatequantity = "UPDATE products SET prodquantity = '".$quantity."' WHERE prodid = '".$bprod."';";