【发布时间】:2017-09-12 16:24:33
【问题描述】:
php5,Microsoft SQL Server Management Studio,操作系统 6.3.15063。我通过 mssql_fetch_assoc 获取 $row 数据,并在第一条记录没有双引号时用 $row 数据填充 PHP 数组。后续行数据可以有双引号,但不能是第一行。错误:jquery.min 中的“SyntaxError: missing ) after argument list” - 所以我无法细读并从中获得有用的信息。代码:
$History_SQL = "
DECLARE @AID int;
SET @AID = $Activity_ID;
SELECT activityid, lpid, abstract, changeid, changestamp FROM cpy_activity_history
WHERE activityid = @AID ORDER BY changestamp DESC;
";
$History_results = mssql_query($History_SQL);
while ($row = mssql_fetch_array($History_results)) {
$HistoryRecords[] = $row;
}
这在记录索引[0] 没有双引号时有效,但是当双引号时,会出错。
有趣的是,如果我使用:
$HistoryRecords[] = json_encode($row);
RESULT>>SyntaxError: missing ) after argument list
然后它会越过错误;但我无法使用 json_decode 从数组中获取任何有用的信息 [甚至没有获取 js 大括号或任何东西,从另一个表中获取另一条记录,可能是因为这个值不是它认为的/无论哪种方式,我什至不确定我是否从 json_endode/decode 开始走上正确的道路。]
可能我只是需要帮助学习如何解码来自 json 编码 var 的每条记录。无论哪种方式,这个问题看起来是否熟悉,以及如何停止出现错误的任何想法?注意:最终,我需要通过 javascript 显示数组信息。其他相关帖子似乎没有涵盖这种情况。这些双引号被证明是令人抓狂的。提前致谢!
【问题讨论】:
-
您的问题非常令人困惑。问题是什么?如果你这样做:
json_encode($HistoryRecords)在你的第一个代码块中会发生什么?您说“如果我这样做,那么它会越过错误”,同时显示实际错误?该数组在编码之前是什么样子的?尝试var_dump($HistoryRecords);并将输出添加到您的问题中。 -
您能否将返回的数据提供给我们,以便我们更好地了解 PHP 想要您不提供的内容?我猜有不匹配的引号或类似的东西,导致 PHP 寻找它没有找到的表达式的结尾,但没有看到 PHP 看到的内容 - 我们真的做不了太多。
-
htx!!努力说清楚:[1]输入sql:...年龄“出生到五岁”在坎伯兰县...[2]原始代码:$HistoryRecords[]=$row; [当表格记录中没有 d.quotes [0]/最近时,所有工作;随后的历史记录可以有 d.quotes]。 [3]当我执行 $HistoryRecords[]=json_encode($row) 或 json_encode($HistoryRecords) 时,在比较函数中使用这个和另一个文本 var 的输出只返回另一个 var [我知道的混淆]。 [4]var_dump 产生的信息是......在坎伯兰县“出生到五岁”......[5]所以 php var 看起来不错,但浏览器 error="missing ) after arg list"
-
令人困惑,我知道,试图只隔离相关的代码。也许关于编码 $row,然后对其进行解码,并通过 js 解码访问 ea var 的最佳方法的建议? var 我需要输出到浏览器:$HistoryRecords[0]['abstract']。整个事情感觉很奇怪,很抱歉造成混乱。我宁愿离开并重新集结,也不愿因为一篇糟糕的帖子而被骂。
标签: php sql-server json