我正在尝试使用PHP创建更新表单,从MySQL 5获取数据。我将字段设置为TINYTEXT类型。我的问题是当我尝试在表单中显示一个字段进行编辑时,显示在第一个空格处停止。例如:我的数据库我在一个字段中有“John Doe”,但是当我尝试显示该字段时,我只看到“John”。这是我的代码的一部分:
$id =mysql_real_escape_string ($_GET['id']);
if(isset($_POST['update'])) {
$UpdateQuery = "UPDATE members SET business_name='$_POST[business_name]', phone='$_POST[phone]', fax='$_POST[fax]', address1='$_POST[address1]', address2='$_POST[address2]', city='$_POST[city]', state='$_POST[state]', zip='$_POST[zip]', website='$_POST[website]', contact='$_POST[contact]', email='$_POST[email]', update_flag='$_POST[update_flag]', WHERE id='$id'";
mysql_query($UpdateQuery, $con);
}
$sql = "SELECT * FROM members WHERE id = $id";
$my_Data = mysql_query($sql,$con);
while($record = mysql_fetch_array($my_Data)) {
?>
<form action=listingupdate.php method=post>
<tr><input type=text name=business_name value=<?=$record['business_name']?> ></tr></br>
<tr><input type=text name=phone value=<?=$record['phone']?> > </tr></br>
<tr><input type=text name=fax value=<?=$record['fax']?> > </tr></br>
我一直在谷歌搜索几种不同的方式,但我没有找到我做错了什么。有人会如此善良地向我展示我需要做些什么才能将字段中的所有数据显示在我的表单中?
答案 0 :(得分:0)
还有一些事情..你应该使用mysqli,而不是mysql,因为它已被弃用。你也在id上调用mysql_real_escape_string,但没有其他数据,因此你的脚本对SQL注入攻击是开放的。如果任何发布的数据包含撇号,您的代码将会失败。我不确定你是如何计划同时使用GET和POST的,因为你的表单在提交时没有提交GET值。尽管如此,您应该检查数据库以查看名称是否在那里被截断,或者是否是客户端问题。