我正在尝试编写一个为商店预留产品的脚本。它应该通过将数据发送到mysql数据库然后它返回'shop'中的值来工作。代码如下; 查看商店
<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: ".$info['price'] . "</div>
<div class='alignright'>QTY: <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)," In stock</p> ";
echo "<p style='color:green;'>".$info['reserve']." 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());
?>
它返回错误而不是更新。非常感谢任何帮助。
由于
答案 0 :(得分:0)
您正尝试在数字中添加字符串(引号括起来的$ reserve)。尝试删除更新查询中的引号,即:
mysql_query("UPDATE products SET reserve= reserve + $reserve WHERE id ='$id'");
答案 1 :(得分:0)
更改
mysql_query("UPDATE products SET reserve= reserve + '$reserve' WHERE id ='$id'");
到
mysql_query("UPDATE products SET reserve = reserve" . $reserve . " WHERE id ='$id'");