Php 更新MySQL和日期时间本地字段
好的,我有一个insert语句运行良好,一个delete语句正在运行。 然而,更新已经一天多没有出现在上面了,也看不到问题所在,我认为唯一可能的是MySQL中的日期时间本地字段,但它可以在insert上工作 表格Php 更新MySQL和日期时间本地字段,php,mysql,sql-update,Php,Mysql,Sql Update,好的,我有一个insert语句运行良好,一个delete语句正在运行。 然而,更新已经一天多没有出现在上面了,也看不到问题所在,我认为唯一可能的是MySQL中的日期时间本地字段,但它可以在insert上工作 表格 $Band_id = (int)$_GET['id']; $result = mysql_query("SELECT * FROM bands where Band_id ='$Band_id'"); $row = mysql_fetch_array($result);
$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>
现在已试用建议查询输出:
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,这是您的问题
SET `Name`=`$Name`,
您可以使用“定义字段,但对于需要使用的变量”
e、 g
更好的方法是:
SET `Name`='{$Name}',
试试看,让我知道!:) 使用反勾号转义表名和列名。使用引号来限制字符串。感谢您提供的信息,我将尝试并实现它。
mysql\u query
是一个过时的接口,不应在新的应用程序中使用,并将在未来的PHP版本中删除。一个现代的替代品。如果您是PHP新手,像这样的指南会有所帮助。虽然你一直很小心地避开这里的事情,但你离灾难只有一步之遥。占位符值提供了一个额外的安全层。太棒了,前几天我订购了一本关于现代PDO phd的书,只是等待亚马逊交付。大括号不是“更好”。他们只是使用字符串插值使危险的SQL合成技术僵化。@Vick我将尝试第二个选项,并让您知道它是否有效。只有当所讨论的变量中有类似$\u POST['value']
的内容时,才需要大括号,但这些内容不应该首先出现在您的查询中。你观察到错误的引用是对的。在MySQL中,值可以是'
或“
,`
仅用于数据库、表和列名。
SET `Name`=`$Name`,
SET `Name`='$Name',
SET `Name`='{$Name}',