php - MySQL PDO 语句在每个 var 之后返回 \n
问题描述
我有一个有两列的表。播放器 & subbedOnFor。两列都可以包含玩家的 ID,我需要计算每个玩家出现在两列中的总次数。如果我也可以获得每个用户在每列中出现的总次数,这也很有帮助,因此结果可能类似于以下内容。
Player 1
TotalApps = 4
player = 3
subbedOnFor = 1
这是我的 SQL 语句
$limit = 5;
$query = 'select player, game, count(*) AS totalApps, sum(first) AS starter, sum(second) AS sub
from ((select game as game, player as player, 1 as first, 0 as second from appearances) union all (select game as game, subbedOnFor as subbedOnFor, 0, 1 from appearances)) myApps
JOIN players ON myApps.player = players.playerid
JOIN games ON myApps.game = games.gameid
WHERE games.date >= :start AND games.date <= :end
group by player
ORDER BY totalApps DESC
LIMIT :limit';
$stmt = $this->conn->prepare($query);
$stmt->bindParam(':limit', $limit, PDO::PARAM_INT);
$stmt->bindValue(':start', $seasonStart);
$stmt->bindValue(':end', $seasonEnd);
$count = $stmt->fetchColumn();
if($stmt->execute()){
while($row = $stmt->fetchObject()){
$data[] = $row;
print_r($row);
}
return $data;
}
我的问题是,我从这个 PDO 语句返回的数据在每个返回值之后都有 \n 。
"stdClass Object\n(\n [player] => 0\n [game] => 53\n [totalApps] => 3\n [starter] => 0\n [sub] => 3\n)\nstdClass Object\n(\n [player] => 1\n [game] => 53\n [totalApps] => 2\n [starter] => 1\n [sub] => 1\n)\nstdClass Object\n(\n [player] => 32\n [game] => 53\n [totalApps] => 1\n [starter] => 1\n [sub] => 0\n)\nstdClass Object\n(\n [player] => 24\n [game] => 53\n [totalApps] => 1\n [starter] => 1\n [sub] => 0\n)\nstdClass Object\n(\n [player] => 14\n [game] => 53\n
有人知道所有这些 \n 来自哪里吗?我认为这与我的 SQL 代码有关,因为我在其他地方多次使用的 PDO 语句的格式没有问题。
此外,当 this 传递回 jQuery $.ajax 语句时,警报输出如下所示。
[{\"player\":\"0\",\"game\":\"53\",\"totalApps\":\"3\",\"starter\":\"0\",\"sub\":\"3\"},{\"player\":\"1\",\"game\":\"53\",\"totalApps\":\"2\",\"starter\":\"1\",\"sub\":\"1\"},{\"player\":\"32\",\"game\":\"53\",\"totalApps\":\"1\",\"starter\":\"1\",\"sub\":\"0\"},{\"player\":\"24\",\"game\":\"53\",\"totalApps\":\"1\",\"starter\":\"1\",\"sub\":\"0\"},{\"player\":\"14\",\"game\":\"53\",\"totalApps\":\"1\",\"starter\":\"1\",\"sub\":\"0\"}]"
当使用完全相同的 pdo 设置和更多“基本”我的 sql 语句时,我没有得到很多 \\,自从尝试在 FROM 语句中使用 SELECT 以来,我只遇到过这个问题(我认为!)。
解决方案
我接受了删除我用来显示 ocde 的 print_r 的建议,再加上通过编辑器重新启动并复制并粘贴 SQL 似乎已经解决了这个问题,但仍然不能 100% 确定为什么 JS 没有解析JSON,但不再是问题。
推荐阅读
- python - 在 Jupyter Notebook 中运行 FEniCS
- java - 如何在具有扩展另一个接口的接口的实现上设置限定符
- dji-sdk - 运行示例 OSDK 应用程序的正确方法是什么?
- visual-studio - 获取 currentSelectedGameObject 不会停止射击
- python-3.x - 如何使用 psycopg2 恢复数据库转储
- css - Laravel+Vue 聊天室逻辑与设计
- node.js - Node Js Async Await 给出第一个响应 Empty
- python - Python“yaml”模块将意外的 YAML 从 JSON 格式转换
- ios - NativeScript 错误:安装失败:无法将应用程序传输到设备
- linux - 如何在 --function 中添加参数