gpt4 book ai didi

php - 声明为 mysql 表的行

转载 作者:行者123 更新时间:2023-11-29 03:37:44 28 4
gpt4 key购买 nike

好的,我会先展示我的代码,然后我会解释哪里出了问题:

$sql_result = $mysqli->query("SELECT * FROM account_information WHERE username = '".$_SESSION["username"]."'");
while ($row = mysqli_fetch_assoc($sql_result)) {
$about=$row['about'];

echo'<table>';
echo
<<<EOT
<form action="profile.php" method="post">
<textarea name="about" rows="5" cols="50" >{$about}</textarea>
<td><input name="submit" type="submit" value="submit"></td>
</form>

EOT;
echo'</table>';

if ( isset( $_POST['submit'] ) ) {
$about = $_POST['about'];
$sql_result2 = $mysqli->query("update account_information SET about='".$about."' WHERE username = '".$_SESSION["username"]."'");
$edit=false;
echo "<div id='about'>".$about."</div>";
}
}

现在您可以看到,当您在文本区域中键入内容时,它应该进入我的数据库(确实如此),当我再次进入该页面时,我希望显示文本。代码:$about=$row['about']; 应该这样做。这不是我似乎无法找到问题所在。一开始它只是不显示任何它应该显示的内容(保存在数据库中的文本区域的先前条目)我应该怎么做?有什么问题?

最佳答案

您应该将提交代码放在 while 循环之外和选择查询之上。

$about = '';
if ( isset( $_POST['submit'] ) ) {
$about = $_POST['about'];
$sql_result2 = $mysqli->query("update account_information SET about='".$about."' WHERE username = '".$_SESSION["username"]."'");
$edit=false;
echo "<div id='about'>".$about."</div>";
}

$sql_result = $mysqli->query("SELECT * FROM account_information WHERE username = '".$_SESSION["username"]."'");

等等....

在您的代码中,您首先从数据库中获取旧值,然后将其再次放入数据库中。替换代码新代码和您在文本区域中输入的文本。因此,您需要先将其保存在数据库中,然后获取它以获取更新后的文本。

关于php - 声明为 mysql 表的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18954747/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com