更新MySQL和日期时间本地字段

时间:2014-01-23 17:41:34

标签: php mysql sql-update

好的,我有一个插入语句适用于删除语句,正在工作。 然而UPDATE现在已经超过一天并没有看到问题,我认为它可能只是MySQL中的日期时间本地字段,但它适用于插入。

形式

$Band_id = (int)$_GET['id'];    
  $result = mysql_query("SELECT * FROM bands where Band_id ='$Band_id'");
  $row = mysql_fetch_array($result);
  ?>
  <form method="post" action="ammenddetails.php">
  <input type="hidden" name="id" value="<? echo "$row[Band_id]"?>">

    <tr><td>Band Name</td></br>
    <td><input type="text" name="Name" size="20" value="<? echo "$row[Name]"?>"></td></tr></br>

    <tr><tr><td>Show Name</td></br>
    <td><input type="text" name="show" size="20" value="<? echo "$row[show]"?>"></td></tr></br>

    <tr><td>Venue</td></br>
    <td><input type="text" name="Venue" size="20" value="<? echo "$row[Venue]"?>"></td></tr></br>

    <tr><td>Category</td></br>
    <td><input type="text" name="Category" size="20" value="<? echo "$row[Category]"?>"></td></tr></br>

    <tr><td>Date and Time</td></br>
    <td><input type="datetime-local" name="time" size="20" value="<? echo "$row[time]"?>"></td></tr></br>

    <tr><td>Price</td></br>
    <td><input type="number" name="price" size="20" value="<? echo "$row[price]"?>"></td></tr></br>

    <tr><td>Stock</td></br>
    <td><input type="number" name="Stock" size="20" value="<? echo "$row[Stock]"?>"></td></tr></br>

    <tr><td>Infomation</td></br>
    <?php echo "<td><textarea name= 'infomation' cols=\"50\" rows=\"8\" >" .$row['infomation']. "</textarea></td>";?></tr></br>

    <tr><input type="submit"name="submit value" value="Update"></td>
    </tr>
  </form>

ammenddetails.php

 <?php
require 'core/init.php';
$Name = mysql_real_escape_string($_POST["Name"]);
$show = mysql_real_escape_string($_POST["show"]);
$Venue = mysql_real_escape_string($_POST["Venue"]);
$Category = mysql_real_escape_string($_POST["Category"]);
$price = mysql_real_escape_string($_POST["price"]);
$Stock = mysql_real_escape_string($_POST["Stock"]);
$time = mysql_real_escape_string($_POST["time"]);
$infomation = mysql_real_escape_string($_POST["infomation"]);
$Band_id = (int)$_POST['id'];

    $result = mysql_query("UPDATE `bands`
              SET `Name`=`$Name`, 
                  `show`=`$show`,  
                  `Venue`=`$Venue`,
                  `Category`=`$Category`,
                  `price`=`$price`, 
                  `Stock`=`$Stock`, 
                  `time`=`$time`,
                  `infomation`=`$infomation`
              WHERE 
              `Band_id`=`$Band_id`");

echo "UPDATE `bands`
              SET `Name`=`$Name`, 
                  `show`=`$show`,  
                  `Venue`=`$Venue`,
                  `Category`=`$Category`,
                  `price`=`$price`, 
                  `Stock`=`$Stock`, 
                  `time`=`$time`,
                  `infomation`=`$infomation`
              WHERE 
              `Band_id`=`$Band_id`"
              // header("location:admin.php");
?>

查询上的回显显示为:

UPDATE `bands` SET `Name`=`Coldplay`, `show`=`Time of you life`, `Venue`=`London Wembley `, `Category`=`Rock`, `price`=`2`, `Stock`=`20`, `time`=`2014-01-23T01:59`, `infomation`=`info here test` WHERE `Band_id`=`3`

已经尝试过建议查询现在输出:

 UPDATE `bands` SET SET `Name`='Killers', `show`='Big Time High', `Venue`='London Apolo', `Category`='Rock', `price`='45', `Stock`='75', `time`='', `infomation`='BLOB values are trea' WHERE `Band_id`='1'

所以查询得到的正确数据只是没有更新bd

1 个答案:

答案 0 :(得分:1)

这是你的问题。

SET `Name`=`$Name`, 

使用`来定义字段,但是对于需要使用'

的变量

e.g。

SET `Name`='$Name',

...

更好的方法是:

SET `Name`='{$Name}',

...

尝试一下,让我知道! :)