简体   繁体   English

在文本框中显示mySQL结果

[英]Displaying mySQL result to textbox

I am trying to select the user email from a mySQL database, and then display the result in a textbox. 我正在尝试从mySQL数据库中选择用户电子邮件,然后在文本框中显示结果。 However, I get an error message: htmlentities() expects parameter 1 to be string, array given 但是,我收到一条错误消息:htmlentities()期望参数1为字符串,给定数组

<?php

    if(!isset($_SESSION)){
        session_start();
    }

    include "config.php";

    $q = "SELECT email FROM users WHERE id ='" . $_SESSION['id'] . "'";
    $result = $sql->query($q);
    $user_email = $result->fetch_assoc();

    $link->close();

?>

    <input class="form" type="text" name="email" value="<?php echo html entities($user_email); ?>" />

What am I doing wrong? 我究竟做错了什么?

Because your result is an array and not a string. 因为您的结果是数组而不是字符串。 what you can do: 你可以做什么:

<?php

    if(!isset($_SESSION)){
        session_start();
    }

    include "config.php";

    $q = "SELECT email FROM users WHERE id ='" . $_SESSION['id'] . "'";
    $result = $sql->query($q);
    $user_email = $result->fetch_assoc();

    $resultText = '';
    $glue = '</br>' . PHP_EOL;
    foreach($user_email as $email) {
        $resultText .= $email . $glue;
    }

    $link->close();

?>

    <input class="form" type="text" name="email" value="<?php echo htmlentities($resultText); ?>" />

fetch_assoc returns the row. fetch_assoc返回该行。

try: 尝试:

$user_email['enter_the_mysql_field_name_here']

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM