Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么这个简单的mysql“u query/SELECT/echo get”;数组";作为输出?_Php_Mysql - Fatal编程技术网

Php 为什么这个简单的mysql“u query/SELECT/echo get”;数组";作为输出?

Php 为什么这个简单的mysql“u query/SELECT/echo get”;数组";作为输出?,php,mysql,Php,Mysql,我已经编写了下面的代码,它应该根据数据库检查会话变量,并给我会话中的username=user id 如果Iecho$session\u name我获得一个用户id,例如30 如果Iecho$row2我得到一个数组 我做错了什么 <?php connect(); $session_name = $_SESSION[id]; $sql2 = "SELECT username FROM members WHERE member_id = '$se

我已经编写了下面的代码,它应该根据数据库检查会话变量,并给我会话中的username=user id

如果I
echo$session\u name我获得一个用户id,例如30
如果I
echo$row2我得到一个数组

我做错了什么

<?php
        connect();
        $session_name = $_SESSION[id];
        $sql2 = "SELECT username FROM members WHERE member_id = '$session_name'";
            $result2=mysql_query($sql2);
            $row2 = mysql_fetch_array($result2);
        echo $row2;
        ?>


尝试回显
$row2[0]
mysql\u fetch\u array
将一个结果行作为索引数组返回,在本例中,该数组只有一个元素/列。另外,不要忘记测试
$row2===FALSE
,这表示查询没有结果。

尝试回显
$row2[0]
mysql\u fetch\u array
将一个结果行作为索引数组返回,在本例中,该数组只有一个元素/列。另外,不要忘了测试
$row2===FALSE
,这表示查询没有结果。

试试看

echo $row2[0];
甚至

print_r($row2); 
要查看您从db获得的信息,请尝试

echo $row2[0];
甚至

print_r($row2); 

要查看从数据库中获取的内容。

获取的结果始终是一个数组。在这种情况下,它是一个一维数组。使用
$row2[0]
(假设您的fetchmode是数组)

如果您的fetchmode是关联模式或对象模式,那么它应该是
$row2['username']


查看此处了解更多有用信息:

获取的结果始终是一个数组。在这种情况下,它是一个一维数组。使用
$row2[0]
(假设您的fetchmode是数组)

如果您的fetchmode是关联模式或对象模式,那么它应该是
$row2['username']


检查此处以获取更多有用信息:

$row2实际上是一个表示返回的整行的数组。尝试$row2[0],我认为这将提供您所期望的结果(返回行中的单个字段)。

$row2实际上是一个表示返回的整行的数组。尝试$row2[0],我认为这将提供您所期望的(返回行中的单个字段)。

这是因为
$row2
是一个数组。您使用了
mysql\u fetch\u array
来获取它,它返回一个数组,正如函数名所示

mysql\u fetch\u array
返回的数组使用SQL查询中的列名作为键。因此

echo $row2['username'];
将返回您期望的数据


作为旁注:
SELECT
从技术上讲是一个SQL子句,而不是一个PHP函数。

这是因为
$row2
是一个数组。您使用了
mysql\u fetch\u array
来获取它,它返回一个数组,正如函数名所示

mysql\u fetch\u array
返回的数组使用SQL查询中的列名作为键。因此

echo $row2['username'];
将返回您期望的数据


作为旁注:
SELECT
在技术上是一个SQL子句,而不是一个PHP函数。

完全符合我的要求。工作非常完美正是我想要的。工作完美请在您的问题中添加[mysql]标记。我本来打算这么做的,但不知怎么的,retag链接不见了。当你这么做的时候,读一下:请在你的问题中添加一个[mysql]标记。我本来打算这么做的,但不知怎么的,重新标记链接丢失了。当你这样做时,请阅读: