【发布时间】:2014-01-30 05:58:49
【问题描述】:
虽然之前有人问过这个问题的变体,但没有一个能帮助我解决这个难题。目前我放在一起的表格更新数据库很好等,问题是当我去编辑字段时,只显示数据的第一部分,例如,如果数据是“晴天”,那么当我点击编辑这个字段我得到的只是'Sunny',所以如果我然后点击更新,它会将数据库编辑回Sunny。我错过了什么吗?!
提前致谢。
// Connects to your Database
$query=mysql_connect("localhost", "cl52-abcdef","abcdef") or die(mysql_error());
mysql_select_db("cl52-abcdef",$query);
?>
<html>
<body>
<?php
if(isset($_GET['id']))
{
$id=$_GET['id'];
if(isset($_POST['submit']))
{
$holdesc1=$_POST['holdesc1'];
$holdest1=$_POST['holdest1'];
$rrp1=$_POST['rrp1'];
$cpe1=$_POST['cpe1'];
$ea1=$_POST['ea1'];
$query3=mysql_query("update DealOne set holdesc1='$holdesc1',holdest1='$holdest1',rrp1='$rrp1',cpe1='$cpe1',ea1='$ea1' where id='$id'");
if($query3)
{
header('location:list.php');
}
}
$query1=mysql_query("select holdesc1, holdest1, rrp1, cpe1, ea1 from DealOne where id='$id'");
$query2=mysql_fetch_array($query1);
?>
<form method="post" action="">
1 <input type="text" value=<? echo $query2['holdesc1']; ?> name="holdesc1"><br>
2 <input type="text" value=<? echo $query2['holdest1']; ?> name="holdest1"><br>
3 <input type="text" value=<? echo $query2['rrp1']; ?> name="rrp1"><br>
4 <input type="text" value=<? echo $query2['cpe1']; ?> name="cpe1"><br>
5 <input type="text" value=<? echo $query2['ea1']; ?> name="ea1"><br><br>
<input type="submit" name="submit" value="update" />
</form>
<?php
}
?>
</body>
</html>
【问题讨论】:
-
mysql_query已经被弃用了一段时间。切换到 mysqli 或 PDO。 -
是的 - 您的
value属性中缺少引号。您必须将它们引用为value="<?php echo htmlspecialchars($query2[...], ENT_QUOTES); ?>"查看浏览器的页面源代码,您会发现问题所在。 -
你是说你的数据总是在第一个空格之前被截断?
标签: php mysql sql arrays fetch