MySQL Fetch Array回显数据库的空白结果

时间:2015-06-30 23:34:07

标签: php mysqli

尝试从数据库中回显用户首字母的结果并将其显示给他们。问题是它只显示"欢迎,"而不是"欢迎,(用户首字母)"。

以下是我的index.php中的代码。

  • VERSION1:

    <?php 
    
    $getting = mysql_query("
    SELECT `initials` FROM `username` 
    WHERE `pass` = '".$_SESSION['userName']."'
    "); 
    
    $result = mysql_fetch_array($getting); 
    
    echo "Welcome, " . $result; 
    
    ?> 
    
    create table username
    (
        UserNameID int auto_increment primary key,
        userName varchar(100) not null,
        pass varchar(100) not null,
        initials varchar(20) not null
    );
    
    insert username (userName,pass,initials) values ('sb','bailey101','SB'),('cb','test','CB');
    

    更新:我删除了$result = mysql_fetch_array($getting);,然后将echo "Welcome, " . $result;更改为echo "Welcome, " . $getting;。然后我得到#34;欢迎,资源ID#6&#34;。我该如何解决这个问题?

    目标:

    mysqli返回传递了pass =参数的用户名行的结果集。使用第一行显示用户的首字母。

    注意忽略第2行和第2行后,这只是一个测试。

  • 1 个答案:

    答案 0 :(得分:0)

    SQL查询结果将作为数组返回(因此mysql_fetch_array())。由于echo无法打印数组数据,因此它不会打印任何内容。

    您的SQL查询的第一个(仅在此情况下)结果将在$result[0][0]中。因此你的PHP应该是:

                  <?php 
    
                    $getting = mysql_query("SELECT `initials` FROM `username` WHERE `pass` = '".$_SESSION['userName']."'");
                    $result = mysql_fetch_array($getting);
    
                    echo "Welcome, " . $result[0][0]; 
    
    
    
                  ?>