Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 查询中显示的数据不完整_Php_Mysql - Fatal编程技术网

Php 查询中显示的数据不完整

Php 查询中显示的数据不完整,php,mysql,Php,Mysql,我正在尝试使用PHP制作一个更新表单,从MySQL 5获取数据。我将字段设置为TINYTEXT类型。我的问题是,当我试图在表单中显示字段进行编辑时,显示会在第一个空格处停止。例如:我的数据库在一个字段中有“John Doe”,但当我试图显示该字段时,我只看到“John”。以下是我代码的一部分: $id =mysql_real_escape_string ($_GET['id']); if(isset($_POST['update'])) { $UpdateQuery = "UPDATE memb

我正在尝试使用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>
$id=mysql\u real\u escape\u字符串($\u GET['id']);
如果(isset($_POST['update'])){
$UpdateQuery=“更新成员集业务”\u name='$\u POST[business\u name]',phone='$\u POST[phone]',fax='$\u POST[fax]',address1='$\u POST[address1]',address2='$\u POST[address2]',city='$\u POST[city]',state='$\u POST[state]',zip='$\u POST[zip]',website='$\u POST[zip]',website='$\u POST[website]',contact=',其中id=“$id”;
mysql\u查询($UpdateQuery,$con);
}
$sql=“从id=$id的成员中选择*”;
$my\u Data=mysql\u查询($sql,$con);
而($record=mysql\u fetch\u数组($my\u Data)){
?>
>

还有几件事。你应该使用mysqli,而不是mysql,因为它已经被弃用了。你也在id上调用mysql\u real\u escape\u字符串,但没有其他数据,因此你的脚本很容易受到SQL注入攻击。如果发布的任何数据包含撇号,你的代码似乎会失败。我不确定你打算如何使用它由于您的表单在同一时间发布,提交时不会提交GET值。综上所述,您应该检查数据库,看看其中的名称是否被截断,或者这是否是客户端问题。

谢谢您的输入,您省略了双引号。我将研究将代码更改为mysqli。我想可能没有必要ry,但我只是在通过url传递变量时使用mysql\u real\u escape\u字符串。不确定如何获取我使用post传递的值。数据库中没有截断。我认为tyro是正确的,我只是忘记了双重引用我的参数。我非常感谢您的评论,我会考虑纳入您的建议s