0

我正在尝试编写一个为商店保留产品的脚本。它应该通过将数据发送到 mysql 数据库然后返回“商店”中的值来工作。代码如下;看店

<form action="reserveitems3.php" method="POST">
<?php 



// Connects to your Database 
 mysql_connect("localhost", "dbname", "password") or die(mysql_error()) ; 
 mysql_select_db("dbname") or die(mysql_error()) ; 

 //Retrieves data from MySQL 
 $data = mysql_query("SELECT * FROM products") or die(mysql_error()); 

//Puts it into an array 
while($info = mysql_fetch_array( $data )) { 



// render each dtabase result and wrap in a div
echo "<div class='product'>";
echo "<table width='100%' cellpadding='0' cellspacing='0' border='0'>";
echo "<tr>
<td class='image'><img src=http://my-creativewebfusion.com/mysql_data/file/".$info['photo'] . "></td>
<td class='name'>".$info['name'] . "<br/><br/>".$info['desc'] . "</td>
<td class='phone'><input name='".$info['id']."' type='checkbox' value='yes' style='position:relative;float:right;right:50px;' class='checked' onclick='document.getElementById('other').innerHTML = 'Check Box = ' + this.checked;'/><br/><br/>
<div class='alignright'>Price:&nbsp;".$info['price'] . "</div>
<div class='alignright'>QTY:&nbsp;<input type='text' name='reserve' style='width:40px;'/></div>

<div class='alignright'> ";

$sum_total = $info['stock']  - $info['reserve'] ;


if ($sum_total == 0)
{
echo "<p style='color:red;'>Out of stock</p>";
}
        else
{


        echo "<p style='color:green;float:right;'>",($sum_total),"&nbsp;&nbsp;In stock</p>&nbsp;";
         echo "<p style='color:green;'>".$info['reserve']."&nbsp;Reserved</p>";

}

echo "</div></td></tr>";
echo "</table>";
echo "</div><input type='submit' value='Submit' />";
}
?> 

</form>

这是保留项目的php文件

<?php 



 // Connects to your Database 
 mysql_connect("localhost", "dbname", "password") or die(mysql_error()) ; 
 mysql_select_db("dbname") or die(mysql_error()) ; 

 //This gets all the other information from the form 

$reserve=$_POST['reserve'];

 //Writes the information to the database 
  mysql_query("UPDATE products SET reserve= reserve + '$reserve' WHERE id ='$id'");



   $result = mysql_query($sql) or die(mysql_error());

 ?> 

它返回错误而不是更新。任何帮助是极大的赞赏。

谢谢

4

2 回答 2

0

改变

mysql_query("UPDATE products SET reserve= reserve + '$reserve' WHERE id ='$id'");

mysql_query("UPDATE products SET reserve = reserve" . $reserve . " WHERE id ='$id'");
于 2013-05-21T13:54:11.573 回答
0

您正在尝试将字符串(用引号括起来的 $reserve)添加到数字中。尝试删除更新查询中的引号,即:

mysql_query("UPDATE products SET reserve= reserve + $reserve WHERE id ='$id'");
于 2013-05-21T13:50:31.320 回答