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

如何修复输入字段中php变量的不可见值,php,Php,我试图在html表单输入文本字段中显示用户昵称。它是有效的,但现在停止随机出现。数据库中有供用户使用的数据。这些字段只是空白,没有显示任何内容。我有很多其他领域的工作,但这不是和idk为什么。请随意编辑标题,我不知道如何用词 当我尝试内爆$昵称时 $string_nickname = implode(',', $nickname); 我得到了错误 警告:内爆():传入的参数无效 C:\xampp\htdocs\Client Projects\Crossfire\CoinSubmission.p

我试图在html表单输入文本字段中显示用户昵称。它是有效的,但现在停止随机出现。数据库中有供用户使用的数据。这些字段只是空白,没有显示任何内容。我有很多其他领域的工作,但这不是和idk为什么。请随意编辑标题,我不知道如何用词

当我尝试内爆$昵称时

$string_nickname = implode(',', $nickname);
我得到了错误

警告:内爆():传入的参数无效 C:\xampp\htdocs\Client Projects\Crossfire\CoinSubmission.php联机 二十六

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

$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);

如果您需要更多信息,请告诉我。

使用面向对象的mysqli

$arr=array();
而($row=$result->fetch_assoc()){
$arr[]=$row['昵称'];
}
$string_昵称=内爆(',',$arr);
您正在获取一个值,我认为您需要多个值。只需创建一个新数组,按一下就可以了。即使您在数据库中有一个值,这也是可行的。上面的数组包含我们从数据库中获得的所有昵称。一旦你使它们内爆,它们就像

nickname1, nickname2, nickname3, nicknamen
所以你的整个代码变成了这样

$result=$con->query(“在coinsub.profileid=adminlogin.profileid上从adminlogin内部连接coinsub中选择adminlogin.昵称”)或die(mysqli_error($con));
$arr=array();
而($row=$result->fetch_assoc()){
$arr[]=$row['昵称'];
}
$string_昵称=内爆(',',$arr);

如果要内爆,请尝试以下操作:

$string_nickname = implode(', ', (array)$nickname);
$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'];
对于select mysqli,请尝试以下操作:

$string_nickname = implode(', ', (array)$nickname);
$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'];

}

你是想显示所有的昵称还是一个特定的昵称?我认为您试图输入表单字段的昵称是当前用户。您可能需要在查询中使用Where子句来提取正确的用户。在大多数情况下,它应该只返回一条记录。@noctens2 OP用逗号内插昵称。所以看起来他们想得到所有的昵称。我试图澄清这个问题。试图找出OP想要将数组放入输入字段的原因。但这正是他们想要做的。你会得到错误,因为昵称不是数组为什么
mysqli\u fetch\u assoc
返回关联数组。每一次。我从没说过你是个白痴,也没试过教你。我只是问为什么要将类型数组强制转换为始终是数组的变量。请回答这个问题,如果你不想回答,请忽略它。我们都是来学习的,我不想教任何人。虽然这可能回答了这个问题,但代码型答案通常被认为是低质量的。提供更多关于为什么会提高这个答案质量的描述和上下文。谢谢