我有一个表单上的数据,这些数据是从一个表中回显出来的,我想使用这些数据来更新另一个表中的信息。每当我点击更新按钮时,它就会显示一个错误,“无法更新数据:查询为空”,这里是更新代码,请帮助我。
<?php
if(isset($_POST['submit'])) {
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
$ItemId = $_POST['ItemId'];
$Quantity = $_POST['Quantity'];
//$sql = "UPDATE stationery ". "SET Quantity = $Quantity ". "WHERE ItemId = $ItemId" ;
$sql = mysql_query("UPDATE stationery set Quantity = ". $Quantity ." WHERE ItemId = '".$ItemId."'");
//$sql=mysql_query("UPDATE stationery SET Quantity = ".mysql_real_escape_string($Quantity)." WHERE IltemId = '".mysql_real_escape_string($ItemId)."'");
mysql_select_db('dbtest');
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully\n";
mysql_close($conn);
}
?>这是从mysql表回显数据的表
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("dbtest", $con);
$result = mysql_query ("SELECT * FROM stationery");
echo "<table border = '1' style='margin-left:18px;margin-right:18px;'bgcolor='#CFC'>
<tr><th bgcolor='#34495E' colspan='9'>
<h1><font color='white' align='center'>   ORDER OFFICE SUPPLIES</font></h1>
</th></tr>
<tr bgcolor='#CFC' font size='18'>
<th>Item Name</th>
<th>Item Id</th>
<th>Quantity</th>
</tr>";
while ($row = mysql_fetch_array($result))
{
echo "<form action=\"\" method=\"post\" enctype=\"multipart/form-data\">";
echo "<tr>";
echo "<td><input type=\"text\" name=\"ItemName\" size=\"30\" value=\" ". $row ['ItemName'] . "\" readonly></td>";
echo "<td><input type=\"text\" name=\"ItemId\" value=\" ". $row ['ItemId'] . "\" readonly></td>";
echo "<td><input type=\"text\" name=\"Quantity\" required></td>";
echo "<td><input type=\"submit\" name=\"submit\" size=\"30\" style='background-color:#3366FF' value=\"Update \"></td>";
echo "</tr>";
echo "</form>";
}
echo "</table>";
mysql_close($con);
?>发布于 2016-04-10 16:53:56
更改此行:
$sql = mysql_query("UPDATE stationery set Quantity = ". $Quantity ." WHERE ItemId = '".$ItemId."'");至:
$sql = "UPDATE stationery set Quantity = '". $Quantity ."' WHERE ItemId = '".$ItemId."'";完整代码:
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
$ItemId = $_POST['ItemId'];
$Quantity = $_POST['Quantity'];
$sql = "UPDATE stationery set Quantity = '". $Quantity ."' WHERE ItemId = '".$ItemId."'";;
mysql_select_db('test');
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully\n";
mysql_close($conn);
?>发布于 2016-04-10 17:05:44
对PHP变量使用单引号,对与SQL相关的名称使用反勾:
$sql = mysql_query("UPDATE `stationery` set `Quantity` = '$Quantity' WHERE `ItemId` = '$ItemId'");https://stackoverflow.com/questions/36527713
复制相似问题