我正在尝试使用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>
我一直在使用几种不同的方式进行谷歌搜索,但是我没有发现自己在做什么错。有人会这么高兴地向我展示我需要做些什么来使字段中的所有数据都显示在表单中吗?
最佳答案
好几件事..您应该使用mysqli,而不是mysql,因为它已被弃用。另外,您在ID上调用了mysql_real_escape_string,但没有其他数据,因此您的脚本很容易受到SQL注入攻击的影响。如果任何发布的数据包含撇号,您的代码似乎将失败。我不确定您打算如何同时使用GET和POST,因为您的表单在提交时不会提交GET值。综上所述,您应该检查数据库以查看其中的名称是否被截断,或者这是客户端问题。
关于php - 查询显示的数据不完整,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34259879/