我正在尝试在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);
请让我知道是否需要更多信息。
答案 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);
}