Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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 “我的PDO获取返回”;数组";而不是点数_Php_Mysql_Pdo_Fetch - Fatal编程技术网

Php “我的PDO获取返回”;数组";而不是点数

Php “我的PDO获取返回”;数组";而不是点数,php,mysql,pdo,fetch,Php,Mysql,Pdo,Fetch,我试图让这个PDO获取显示用户拥有的点数。 然而,我只是得到了输出“array”。我在这里做错了什么,有没有比这更容易的方法从列中获取单行 // CONNECT TO DATABASE require 'database.php'; // FETCH POINTS $usernamedb = $_SESSION['user']; echo $usernamedb; $fetchpoints = $db->prepare("SELECT points FROM login WHERE u

我试图让这个PDO获取显示用户拥有的点数。 然而,我只是得到了输出“array”。我在这里做错了什么,有没有比这更容易的方法从列中获取单行

// CONNECT TO DATABASE
require 'database.php';

// FETCH POINTS
$usernamedb = $_SESSION['user'];
echo $usernamedb;

$fetchpoints = $db->prepare("SELECT points FROM login WHERE username = '$usernamedb'");
$fetchpoints->execute();

$pointsfetched = $fetchpoints->fetchAll();
echo $pointsfetched;
从改变开始:

echo $pointsfetched;
致:

这将向您显示以JSON格式获取的数据(如果它正常工作的话)。然后,您可以使用以下内容:

foreach ($pointsfetched as $point) {
    echo $point;
}
显示所有点。

更改 $fetchpoints->fetchAll() 到 $fetchpoints->fetchColumn()


这样,您将只获得第一个点作为类型化变量,而不是一个点数组

所有对
PDO::fetch
PDO::fetchAll
的调用都将返回一个数组。如果只想从第一行中获取一列,则需要使用

PDO::fetch
将始终返回下一行的数组。(或假)


PDO::fetchAll
将始终返回一个行数组数组。(或false)

如果您只想从查询中得到一个值,那么不要使用获取数组/列表

$pointsfetched = $fetchpoints->fetchObject()->points;
通常是最简洁的选择。

(只需从结果集中提取一行。)

这让我得到了
d[{“points”:“12524”,“0”:“12524”}]
。我只是希望从这个.pdo prepare中获得12524条信息——既然您已经在使用pdo,现在也可以采用prepared语句。使用
->准备(“选择..其中x=?”
->执行(数组($usernamedb))
占位符的code>。(仅仅因为您的字符串源自会话,并不能确保它受到隐式约束。安全总比抱歉好!)您是如何在不知道(显然无法发现)的情况下使用数据库连接在PHP中创建一个工作网站的如何从数组中读取值?我以前只是像现在键入的那样执行,但由于某些原因,这次无法执行。。。我不确定我做了哪些不同的事情……以下是我得到的代码:它是fetchColumn,很抱歉,这对我很有效,谢谢:)我不知道为什么我不能使用以前使用的相同方法。。。最近有什么更新吗?我有另一个问题@mario,为什么这不起作用?
$usernamedb=$\u SESSION['user']$fetchone=$db->prepare(“选择profilepicture、名称、登录点,其中username='$usernamedb'”)$personalprofile=$fetchone->fetchAll();echo“该代码和数组访问实际上看起来正常。
print\r()
说明了结果列表的什么,以及结果HTML输出的外观如何(
view source
,没有关闭
”>
img tag end)?print\r()没有给我任何东西,我有结束标记,只是没有添加:)我只是进入视图Source,然后探测
$usernamedb
。可能没有设置(session\u start missing等),导致查询失败和缺少值。
//Use 0 to get the first column
$pointsfetched = $fetchpoints->fetchColumn(0);
$pointsfetched = $fetchpoints->fetchObject()->points;