首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php mysql更新表使用的变量不起作用

问php mysql更新表使用的变量不起作用
EN

Stack Overflow用户
提问于 2016-04-10 16:47:33
回答 2查看 40关注 0票数 1

我有一个表单上的数据,这些数据是从一个表中回显出来的,我想使用这些数据来更新另一个表中的信息。每当我点击更新按钮时,它就会显示一个错误,“无法更新数据:查询为空”,这里是更新代码,请帮助我。

代码语言:javascript
复制
  <?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表回显数据的表

代码语言:javascript
复制
<?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'>&nbsp&nbsp&nbspORDER 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);

 ?>
EN

回答 2

Stack Overflow用户

发布于 2016-04-10 16:53:56

更改此行:

代码语言:javascript
复制
$sql = mysql_query("UPDATE stationery set Quantity = ". $Quantity ." WHERE ItemId = '".$ItemId."'");

至:

代码语言:javascript
复制
$sql = "UPDATE stationery set Quantity = '". $Quantity ."' WHERE ItemId = '".$ItemId."'";

完整代码:

代码语言:javascript
复制
<?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);
?>
票数 0
EN

Stack Overflow用户

发布于 2016-04-10 17:05:44

对PHP变量使用单引号,对与SQL相关的名称使用反勾:

代码语言:javascript
复制
$sql = mysql_query("UPDATE `stationery` set `Quantity` = '$Quantity' WHERE `ItemId` = '$ItemId'");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36527713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档