【问题标题】:Php Mysql Data is not appearing in one form valuePhp Mysql 数据未出现在一种形式的值中
【发布时间】:2023-01-24 00:17:18
【问题描述】:

我试图将数据库中的值放入表单字段中。我包括了我正在使用的一些脚本。 唯一不起作用的部分是“生物”,我怀疑我搞砸了它是一个文本区域。其他内容显示在表单字段中,只有生物没有(它在页面上是空白的,而不是在数据库中)。

此处仅显示页面脚本的相关部分

没有错误显示。我使用了https://3v4l.org/#live,除了会话之外,它没有显示任何错误,所以我删除了它以尝试解决问题,但它没有发现任何错误。

有人知道为什么我的 textarea 没有显示数据库中的值吗?

    <?php

    error_reporting(E_ALL);
    ini_set('display_errors', '1');

     session_start();

    // Removed DB connection info for posting here

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
      die("Connection failed: " . $conn->connect_error);
    }
    $id=$_SESSION['id'];
    $sql = "SELECT id, bio, email, token FROM users WHERE id=$id";
    $result = $conn->query($sql);



    ?> <!DOCTYPE html> </font> <title> </title>
    <font face="Verdana, Arial, Helvetica, sans-serif"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
    </font>
    <div class="container" align="center"> <font face="Verdana, Arial, Helvetica, sans-serif"><?php
    if ($result->num_rows > 0) {
      // output data of each row
     while($row = $result->fetch_assoc()) {
         echo  '<form action="edit2.php?id='.$row["id"].'" method="POST">

    <br><br><div class="form-group"><br><label for="Bio">Bio<br></label><textarea class="form-control" value="'.$row["bio"].'" name="bio" size="14"></textarea><br><br>
    <label for="email">Email<br></label><input type="text" autocomplete="off" class="form-control" id="email" value="'.$row["email"].'" name="email" size="16"><br><br>
    <label for="token">TOKENS<br></label><input type="text" autocomplete="off" class="form-control" id="token" value="'.$row["token"].'" name="token" size="16"></div><br>

在表单中显示来自 db info textarea 的值

【问题讨论】:

  • 现在我知道我有一个巨魔。恰好在我发布这篇文章 10 秒后,我得到了一个 -1,而且我从这个网站上看到许多其他寻找解决方案的帖子中知道,还有更多模糊和更糟糕的书面问题没有被否决。一点帮助都没有。
  • 1.将$row[" bio"] 放入&lt;textarea&gt;---here---&lt;/textarea&gt;。 2.删除文本区域值(value="")并试试这个。
  • @ramin 成功了。太感谢了。并且认为有人所要做的就是提供一点帮助而不是投票。 Ramin 也让我知道我做错了什么。我看到该值必须放在文本区域内,而不是文本区域的信息。谢谢!
  • 您必须考虑问题有多复杂的事实?例如,如果您删除了您的变量并在您的值属性中放置了一个静态“测试”,您会看到相同的结果,也就是没有测试——这反过来应该强调这根本不是您的 MySQL 的问题。您是否执行了 print_r($row) 以查看数组中的值?

标签: php mysql


【解决方案1】:

一个非常简单的错误:

<textarea class="form-control" name="bio" size="14">'.$row["bio"].'</textarea>

textareas 不支持 value 属性。文本位于开始文本区域标签和结束标签之间(如上)。

You can see what a text area supports here

【讨论】:

    【解决方案2】:

    感谢RAMIN的解决方案(再次感谢您的帮助和教育)

        <br><br><div class="form-group"><br><label for="Bio">Bio<br></label><textarea class="form-control" name="bio" size="14">value="'.$row["bio"].'"</textarea><br><br><label for="email">Email<br></label><input type="text" autocomplete="off" class="form-control" id="email" value="'.$row["email"].'" name="email" size="16"><br><br><label for="token">TOKENS<br></label><input type="text" autocomplete="off" class="form-control" id="token" value="'.$row["token"].'" name="token" size="16"></div><br>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-15
      相关资源
      最近更新 更多