繁体   English   中英

更新查询无法正常工作PHP MySQL

[英]Update query not working PHP MySQL

谁能帮助我理解为什么此更新查询未更新db中的字段。

    <?php
   $id= $_GET['id'];

                 $query1 = mysql_query("SELECT * FROM invoice WHERE id=$id limit 1");

       ?> 
      <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
         <div class="card">
            <div class="card-header">
               <strong>Create Tax</strong>
            </div> <?php 

            while($query2=mysql_fetch_array($query1)){
            // $results = mysql_fetch_array($raw_results) puts data from database into array, while it's valid it does the loop

                ?>
            <div class="card-block">
               <div class="col-sm-6">
                  <div class="form-group">
                     <label for="company">Coustomer Name</label>
                     <input type="text" class="form-control" id="company" name="cname" value="<?php echo $query2['CustomerName']?>" placeholder="Coustomer Name">
                  </div>
               </div>
               <div class="col-sm-6">
                  <div class="form-group">
                     <label for="company">Coustomer Mobile </label>
                     <input type="text" class="form-control" id="company" name="mobile" value="<?php echo $query2['CustomerMobile']?>" placeholder="Coustomer Mobile">
                  </div>
               </div>
               <div class="col-sm-6">
                  <div class="form-group">
                     <label for="company">Email</label>
                     <input type="text" class="form-control" id="company" name="email" value="<?php echo $query2['Email']?>"  placeholder="Email">
                  </div>
               </div> <div class="col-sm-6">
                  <div class="form-group">
                     <label for="company">Coustomer Streat </label>
                     <input type="text" class="form-control" id="company" name="streat" value="<?php echo $query2['CustomerStreat']?>" placeholder="Coustomer Streat">
                  </div>
               </div> <div class="col-sm-6">
                  <div class="form-group">
                     <label for="company">Coustomer City</label>
                     <input type="text" class="form-control" id="company" name="city" value="<?php echo $query2['CustomerCity']?>" placeholder="Coustomer City">
                  </div>
               </div> <div class="col-sm-6">
                  <div class="form-group">
                     <label for="company">Coustomer State</label>
                     <input type="text" class="form-control" id="company" name="state" value="<?php echo $query2['CustomerState']?>" placeholder="Coustomer State">
                  </div>
               </div> <div class="col-sm-6">
                  <div class="form-group">
                     <label for="company">Coustomer Country</label>
                     <input type="text" class="form-control" id="company" name="country" value="<?php echo $query2['CustomerCountry']?>" placeholder="Coustomer Country">
                  </div>
               </div> <div class="col-sm-6">
                  <div class="form-group">
                     <label for="company">Zip/Pin Code</label>
                     <input type="text" class="form-control" id="company" name="pin" value="<?php echo $query2['ZipCode']?>" placeholder="ZipCode">
                  </div>
               </div> 
               <?php } ?>
               <div class="col-sm-6">
                  <div class="form-group">
                     <label for="company">Tax Name </label><?php

                 $query1 = mysql_query("SELECT * FROM Tax");

       ?> 
                     <select id="select" name="tax" class="form-control" size="1"><?php 

            while($query2=mysql_fetch_array($query1)){
            // $results = mysql_fetch_array($raw_results) puts data from database into array, while it's valid it does the loop

                ?>
                                                <option value="<?php echo $query2['NameOfTax']?> , <?php echo $query2['TaxPercentage']?>"><?php echo $query2['NameOfTax']?> , <?php echo $query2['TaxPercentage']?></option>
                               <?php $taxvalue =  $query2['TaxPercentage']; ?>                         <?php } ?>

                                            </select>
                  </div>
               </div> <div class="col-sm-6">
                  <div class="form-group">
                     <label for="company">Iteam Name </label>
                     <input type="text" class="form-control" id="company" name="item" placeholder="Iteam Name" value="<?php echo $query2['ItemName']?>">
                  </div>
               </div> 
               <div class="col-sm-6">
                  <div class="form-group">
                     <label for="company">Iteam Price </label>
                     <input type="text" class="form-control" id="company" name="itemprice" placeholder="Iteam price" value="<?php echo $query2['ItemPrice']?>">
                  </div>
               </div> 
               <div class="col-sm-6">
                  <div class="form-group">
                     <label for="company">Paid Ammount </label>
                     <input type="text" class="form-control" id="company" name="pammount" placeholder="Paid Ammount" value="<?php echo $query2['PaidAmmount']?>">
                  </div>
               </div> <div class="col-sm-6">
                  <div class="form-group">
                     <label for="company">Date</label>
                     <input type="text" class="form-control" id="company" name="date" placeholder="Date" value="<?php echo $query2['Date']?>">
                  </div>
               </div>
               <div class="col-sm-12">
                  <input type="submit" class="btn btn-outline-success" name="submit" value="Processe Invoice"/>
               </div>
            </div>
         </div>
   </div>
   </div> 
   <!--/col-->
   </form>
  <?php 


  $cname = $_POST['cname'];
  $mobile = $_POST['mobile'];
  $email = $_POST['email'];
  $streat = $_POST['streat'];
  $city = $_POST['city'];
  $state = $_POST['state'];
  $country = $_POST['country'];
  $pin = $_POST['pin'];
  $tax = $_POST['tax'];
  $item = $_POST['item'];
  $itemprice = $_POST['itemprice'];
  $percent = ($taxvalue / 100) * $itemprice ;
  $tammount = $percent  + $itemprice; 
  $pammount = $_POST['pammount'];
  $uammount = $tammount - $pammount;
  $date = $_POST['date'];
  $ip = $_SERVER['REMOTE_ADDR'];
  $date1 = date('h,i,s');

  if(isset($_POST['submit']))
      {

      $sql = "UPDATE `ero`.`invoice` SET `CustomerName` = '$cname', `CustomerMobile` = '$mobile', `Email` = '$email', `CustomerStreat` = '$streat', `CustomerCity` = '$city', `CustomerState` = '$state', `CustomerCountry` = '$country', `ZipCode` = '$pin', `TaxName` = '$tax', `ItemName` = '$item', `ItemPrice` = '$itemprice', `TotalAmmount` = '$tammount', `PaidAmmount` = '$pammount', `UnpaidAmmount` = '$uammount', `Date` = '$date', `IP` = '$ip', `DateTime` = '$date1'  WHERE `invoice`.`id` = '$id'";

      $result = mysql_query($sql);

      if($result)


 $url='customer.php';

    echo '<script>window.location = "'.$url.'";</script>';
    die;
      }

      ?>

invoice.php

<?php

                 $query1 = mysql_query("SELECT * FROM invoice");

       ?> 
                                <table class="table table-bordered table-striped table-condensed">
                                    <thead>
                                        <tr>
                                            <th>Customer Name</th>
                                            <th>Mobile</th>
                                            <th>Email</th>
                                            <th>City</th>
                                            <th>Item Name</th>
                                            <th>Item Price</th>
                                            <th>Tax</th>
                                            <th>Total Ammount</th>
                                            <th>Paid Ammount</th>
                                            <th>Unpaid Ammount</th>                                      
                                            <th>Action</th>
                                        </tr>
                                    </thead>
                                    <tbody><?php 

            while($query2=mysql_fetch_array($query1)){
            // $results = mysql_fetch_array($raw_results) puts data from database into array, while it's valid it does the loop

                ?>

                                        <tr>
                                            <td><?php echo $query2['CustomerName']?></td>
                                            <td><?php echo $query2['CustomerMobile']?></td>
                                            <td><?php echo $query2['Email']?></td>
                                            <td><?php echo $query2['CustomerCity']?></td>
                                            <td><?php echo $query2['ItemName']?></td> 
                                            <td><?php echo $query2['ItemPrice']?></td>
                                            <td><?php echo $query2['TaxName']?></td>
                                            <td><?php echo $query2['TotalAmmount']?></td>
                                            <td><?php echo $query2['PaidAmmount']?></td>

                                            <td <?php if ($query2['UnpaidAmmount'] > 1) echo 'style="background-color:#FF0000"' ?>><?php if ($query2['UnpaidAmmount'] < 1) echo "Ammount Paid"; else echo  $query2['UnpaidAmmount'];?></td>
                                            <td>
<button type="button" class="btn btn-outline-danger btn-sm"><a href="DeleteInvoice.php?id='<?php echo $query2['id'] ?>'" >Delete</a>
<button type="button" class="btn btn-outline-success btn-sm"><a href="ViewInvoice.php?id='<?php echo $query2['id'] ?>'" >View</a></button>
<button type="button" class="btn btn-outline-success btn-sm"><a href="updatecheck.php?id='<?php echo $query2['id'] ?>'" >Update</a></button>

</div>                        </td>      </tr>  <?php } ?>
<tr>

如果我将手册ID设置为id = 38,则此脚本将重定向customer.php.。 但是MySql Table.i中没有更新。i是编程新手,请提供一些代码示例进行解释。

谢谢

将查询中的单引号替换为双引号,并且由于您已经在查询中使用双引号,因此请对变量使用双引号进行转义或使用字符串串联。

<?php
$id = $_GET['id'];
$cname = $_POST['cname'];
$mobile = $_POST['mobile'];
$email = $_POST['email'];
$streat = $_POST['streat'];
$city = $_POST['city'];
$state = $_POST['state'];
$country = $_POST['country'];
$pin = $_POST['pin'];
$tax = $_POST['tax'];
$item = $_POST['item'];
$itemprice = $_POST['itemprice'];
$percent = ($taxvalue / 100) * $itemprice;
$tammount = $percent + $itemprice;
$pammount = $_POST['pammount'];
$uammount = $tammount - $pammount;
$date = $_POST['date'];
$ip = $_SERVER['REMOTE_ADDR'];
$date1 = date('h,i,s');

if (isset($_POST['submit']))
    {
    $sql = "UPDATE `ero`.`invoice` SET `CustomerName` = \"$cname\", `CustomerMobile` = \"$mobile\", `Email` = \"$email\", `CustomerStreat` = \"$streat\", `CustomerCity` = \"$city\", `CustomerState` = \"$state\", `CustomerCountry` = \"$country\", `ZipCode` = \"$pin\", `TaxName` = \"$tax\", `ItemName` = \"$item\", `ItemPrice` = \"$itemprice\", `TotalAmmount` = \"$tammount\", `PaidAmmount` = \"$pammount\", `UnpaidAmmount` = \"$uammount\", `Date` = \"$date\", `IP` = \"$ip\", `DateTime` = \"$date1\"  WHERE `invoice`.`id` = \"$id\"";
    $result = mysql_query($sql);
    if ($result) $url = 'customer.php';
    echo '<script>window.location = "' . $url . '";</script>';
    die;
?>
UPDATE table
SET col_name = 'new value'
WHERE condition

这是在sql中更新的语法,请尝试删除``

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM