PHP在每次更新记录时添加空格

PHP在每次更新记录时添加空格,php,mysql,Php,Mysql,我从表中读取值,并以用户可以更改或更新的形式显示它们。问题是每次我进行更新时,表中的每个值都会添加一堆空格 以下是基本代码: function ReadHTML($str) { return htmlspecialchars(stripslashes($str), ENT_QUOTES); } $query = "SELECT * FROM " . $table_name . " WHERE id = " . $row_id; $result = mysqli_query ($con

我从表中读取值,并以用户可以更改或更新的形式显示它们。问题是每次我进行更新时,表中的每个值都会添加一堆空格

以下是基本代码:

function ReadHTML($str) {
    return htmlspecialchars(stripslashes($str), ENT_QUOTES);
}

$query = "SELECT * FROM " . $table_name . " WHERE id = " . $row_id;

$result = mysqli_query ($connection, $query ) or die ("Database query failed: " . mysqli_error($connection));

$row = mysqli_fetch_assoc($result);

$q1 = ReadHTML($row['q1']);
当我在表单中显示值时,它看起来很好。但当我更新值时,空间被添加

当我处理更新时,它看起来像这样:

function mysqli_prep(&$connection, $value) {
    $detagged = strip_tags($value);
    $escaped = mysqli_real_escape_string($connection, $detagged);
    return $escaped;
}

$q1 = mysqli_prep($connection, $_POST['q1'])

$query = "UPDATE my_form SET  
        q1='$q1'";
<textarea class="textarea form_textarea_field" name="comment_1" placeholder="Comments">
                <?php if($saved_form == true) {echo $q1;} ?>
            </textarea>
<textarea class="textarea form_textarea_field" name="comment_1" placeholder="Comments">
                " Test text "
            </textarea>
有人能看出我做错了什么吗


HTML如下所示:

function mysqli_prep(&$connection, $value) {
    $detagged = strip_tags($value);
    $escaped = mysqli_real_escape_string($connection, $detagged);
    return $escaped;
}

$q1 = mysqli_prep($connection, $_POST['q1'])

$query = "UPDATE my_form SET  
        q1='$q1'";
<textarea class="textarea form_textarea_field" name="comment_1" placeholder="Comments">
                <?php if($saved_form == true) {echo $q1;} ?>
            </textarea>
<textarea class="textarea form_textarea_field" name="comment_1" placeholder="Comments">
                " Test text "
            </textarea>

当我在浏览器中查看DOM时,它如下所示:

function mysqli_prep(&$connection, $value) {
    $detagged = strip_tags($value);
    $escaped = mysqli_real_escape_string($connection, $detagged);
    return $escaped;
}

$q1 = mysqli_prep($connection, $_POST['q1'])

$query = "UPDATE my_form SET  
        q1='$q1'";
<textarea class="textarea form_textarea_field" name="comment_1" placeholder="Comments">
                <?php if($saved_form == true) {echo $q1;} ?>
            </textarea>
<textarea class="textarea form_textarea_field" name="comment_1" placeholder="Comments">
                " Test text "
            </textarea>

“测试文本”

但我从未添加过那些引号或空格,它们也不会出现在屏幕上。不确定这是正常的还是错误的线索。

如果不想添加任何空格,则在构建html时应确保文本区域中没有空格

因此,改变:

<textarea class="textarea form_textarea_field" type="textarea" name="comment_1" placeholder="Comments">
            <?php if($saved_form == true) {echo $q1;} ?>
        </textarea>

致:



请注意,
textarea
的开始标记和结束标记之间的所有内容都是其内容的一部分(包括新行、空格等)。

如何构建html?请显示创建html的PHP。它很可能在那里。是的,尽量不要在代码打开后缩进
这样一个初学者的错误。非常感谢你们!