我有一个表格上的数据从表格中回显,我想使用这些数据来更新另一个表格中的信息。每当我点击更新按钮时都显示错误,"无法更新数据:查询为空",这是更新代码,请帮帮我。
<?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);
?>
答案 0 :(得分:0)
更改此行:
$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);
?>
答案 1 :(得分:0)
对PHP变量使用单引号,为SQL相关名称使用返回标记:
$sql = mysql_query("UPDATE `stationery` set `Quantity` = '$Quantity' WHERE `ItemId` = '$ItemId'");