如何为输入字段中的php变量修复不可见的值

时间:2019-06-28 18:10:30

标签: php

我正在尝试在html表单输入文本字段中显示用户昵称。它正在运行,但现在退出了,没有显示出来。数据库中有该用户的数据。这些字段只是空白,什么也不显示。我还有很多其他领域的工作,但这并没有为什么。随时编辑标题,我不知道该怎么写。

当我尝试让$ nickname内爆

$string_nickname = implode(',', $nickname);

我收到错误

  

警告:implode():传入的参数无效   C:\ xampp \ htdocs \ Client-Projects \ Crossfire \ CoinSubmission.php在线   26

所以,我尝试将其解析为一个字符串,因为它不是数组,例如。

$string_nickname = $nickname['nickname'];

但是当我这样做时,表单中的字段只是完全空白,并且没有错误。

这是我输入昵称的输入字段。

<label>NICKNAME:</label>
  <input type="text" name="nickname" id="nickname" value="<?php echo $string_nickname; ?>" readonly>

以及我选择和设置昵称的地方。

$result = mysqli_query($con,"SELECT adminlogin.nickname FROM adminlogin INNER JOIN coinsub ON coinsub.profileid=adminlogin.profileid") or die(mysqli_error($con));
$nickname = mysqli_fetch_assoc($result);
$string_nickname = implode(',', $nickname);

请让我知道是否需要更多信息。

3 个答案:

答案 0 :(得分:1)

如果您要内爆,请尝试以下方法:

$string_nickname = implode(', ', (array)$nickname);

对于选择mysqli,请尝试以下操作:

$selectquery = $con->prepare("SELECT adminlogin.nickname FROM adminlogin 
                              LEFT JOIN coinsub ON coinsub.profileid=adminlogin.profileid");
$selectquery->execute(); 
$result = $selectquery->get_result(); 
$user = $result->fetch_assoc();
$nickname = $user['nickname'];

您还可以使用while语句,如下所示:

while($user=$result->fetch_assoc()){

echo $user['nickname'];

}

答案 1 :(得分:0)

使用面向对象的mysqli完成

$arr = array();
while ($row = $result->fetch_assoc()) {
  $arr[] = $row['nickname'];
}
$string_nickname = implode(',', $arr);

您正在获取一个价值,我认为您需要多个。只需创建一个新数组,将其推入即可完成。即使您在数据库中有一个值,该方法也有效。上面的数组包含了我们从数据库中获得的所有昵称。一旦您将它们内爆,它们就像

nickname1, nickname2, nickname3, nicknamen

所以您的整个代码都变成这样

$result = $con->query("SELECT adminlogin.nickname FROM adminlogin INNER JOIN coinsub ON coinsub.profileid=adminlogin.profileid") or die(mysqli_error($con));
$arr = array();
while ($row = $result->fetch_assoc()) {
  $arr[] = $row['nickname'];
}
$string_nickname = implode(',', $arr);

答案 2 :(得分:0)

$string_nickname = '';
if(!empty($nickname)){
$string_nickname = implode(',', $nickname);
}