Php “我的PDO获取返回”;数组";而不是点数
我试图让这个PDO获取显示用户拥有的点数。 然而,我只是得到了输出“array”。我在这里做错了什么,有没有比这更容易的方法从列中获取单行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
// 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;