- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以我再次求助于 Stackoverflow。很长一段时间以来,我一直试图自己破解这个问题。谷歌和这里的旧问题对我没有帮助。
就这样吧。
我有一个 SQL 查询,它通过一个简单的查询从一个足够简单的表中获取数据。该表具有 int 和 varchar 数据。问题出在 varchar 数据上。其他一切都很好,但 varchar 数据。我创建了一个 stdClass 并将所有数据放入其中,到目前为止一切顺利。但是当我尝试在我的网站上回显它时,它告诉我以下错误:
Catchable fatal error: Object of class stdClass could not be converted to string in messages.php on line 53
messages.php 中的代码大约为 53:
foreach($messages as $message){
echo "
<tr>
<td>$message->from_name</td>
<td>$message->to_name</td>
<td>$message->sent</td>
<td>$message->sonum</td> //This here is line 53
</tr>
";
}
将 $messages 带到这里的函数本身是:
function GetMessages($id, $other_id){
global $mysqli;
$stmt = $mysqli->prepare("SELECT `from`, `from_name`, `to`, `to_name`, message, `sent`, `time` FROM `frei_chat` WHERE `from` = ? AND `to`=? OR `from` = ? AND `to` = ? ORDER BY `sent`");
$stmt->bind_param("iiii", $id, $other_id, $other_id, $id);
$stmt->bind_result($from, $from_name, $to, $to_name, $message, $sent, $taime);
$stmt->execute();
$messages = array();
while($stmt->fetch()){
$message = new stdclass;
$message->from = $from;
$message->from_name = $from_name;
$message->to = $to;
$message->to_name = $to_name;
$message->sonum = $message; //this one is the problem
$message->sent = $sent;
$message->taime = $taime;
array_push($messages, $message);
}
return $messages;
}
现在我不熟悉的是这个。当我执行 $messages 的 var_dump 时,我得到这个:
["sonum"]=> *RECURSION*
应该有一个字符串而不是 RECURSION,但没有,我也不知道为什么。我尝试在不同的步骤中使用 (string) 将值转换为字符串,但没有任何效果。我试过换 table 。我试过更改 SQL 查询。我已经在 PHP 之外测试了查询并且知道它有效。我已经尝试了我能想到的一切。
即使没有人知道如何修复它,至少有人知道这个 RECURSION 是什么东西吗? Google 也没有出现太多,只是关于递归函数的内容。
最佳答案
您不小心将变量 $message
重新定义为新的 stdclass
,而它已经存在:
$message = new stdclass;
*RECURSION*
发生是因为您将 stdclass
实例本身作为同一 stdclass
实例的属性。
$message->sonum = $message;
所以 $message
有一个名为 'sonum' 的属性,它的值为 $message
,
它有一个名为“sonum”的属性,其值为 $message
,
它有一个名为“sonum”的属性,其值为 $message
,等等,等等......
为了避免这种情况,简单的写
$msg = new stdclass;
请注意,显示 *RECURSION*
是因为 var_dump()
检测到递归。其他函数可能会导致无限循环并淹没您的内存。
关于php - 一个我无法弄清楚的错误,当使用 stdclass 时,将值显示为 *RECURSION*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27887586/
我通过 spring ioc 编写了一些 Rest 应用程序。但我无法解决这个问题。这是我的异常(exception): org.springframework.beans.factory.BeanC
我对 TestNG、Spring 框架等完全陌生,我正在尝试使用注释 @Value通过 @Configuration 访问配置文件注释。 我在这里想要实现的目标是让控制台从配置文件中写出“hi”,通过
为此工作了几个小时。我完全被难住了。 这是 CS113 的实验室。 如果用户在程序(二进制计算器)结束时选择继续,我们需要使用 goto 语句来到达程序的顶部。 但是,我们还需要释放所有分配的内存。
我正在尝试使用 ffmpeg 库构建一个小的 C 程序。但是我什至无法使用 avformat_open_input() 打开音频文件设置检查错误代码的函数后,我得到以下输出: Error code:
使用 Spring Initializer 创建一个简单的 Spring boot。我只在可用选项下选择 DevTools。 创建项目后,无需对其进行任何更改,即可正常运行程序。 现在,当我尝试在项目
所以我只是在 Mac OS X 中通过 brew 安装了 qt。但是它无法链接它。当我尝试运行 brew link qt 或 brew link --overwrite qt 我得到以下信息: ton
我在提交和 pull 时遇到了问题:在提交的 IDE 中,我看到: warning not all local changes may be shown due to an error: unable
我跑 man gcc | grep "-L" 我明白了 Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more inf
我有一段代码,旨在接收任何 URL 并将其从网络上撕下来。到目前为止,它运行良好,直到有人给了它这个 URL: http://www.aspensurgical.com/static/images/a
在过去的 5 个小时里,我一直在尝试在我的服务器上设置 WireGuard,但在完成所有设置后,我无法 ping IP 或解析域。 下面是服务器配置 [Interface] Address = 10.
我正在尝试在 GitLab 中 fork 我的一个私有(private)项目,但是当我按下 fork 按钮时,我会收到以下信息: No available namespaces to fork the
我这里遇到了一些问题。我是 node.js 和 Rest API 的新手,但我正在尝试自学。我制作了 REST API,使用 MongoDB 与我的数据库进行通信,我使用 Postman 来测试我的路
下面的代码在控制台中给出以下消息: Uncaught DOMException: Failed to execute 'appendChild' on 'Node': The new child el
我正在尝试调用一个新端点来显示数据,我意识到在上一组有效的数据中,它在数据周围用一对额外的“[]”括号进行控制台,我认为这就是问题是,而新端点不会以我使用数据的方式产生它! 这是 NgFor 失败的原
我正在尝试将我的 Symfony2 应用程序部署到我的 Azure Web 应用程序,但遇到了一些麻烦。 推送到远程时,我在终端中收到以下消息 remote: Updating branch 'mas
Minikube已启动并正在运行,没有任何错误,但是我无法 curl IP。我在这里遵循:https://docs.traefik.io/user-guide/kubernetes/,似乎没有提到关闭
每当我尝试docker组成任何项目时,都会出现以下错误。 我尝试过有和没有sudo 我在这台机器上只有这个问题。我可以在Mac和Amazon WorkSpace上运行相同的容器。 (myslabs)
我正在尝试 pip install stanza 并收到此消息: ERROR: No matching distribution found for torch>=1.3.0 (from stanza
DNS 解析看起来不错,但我无法 ping 我的服务。可能是什么原因? 来自集群中的另一个 Pod: $ ping backend PING backend.default.svc.cluster.l
我正在使用Hibernate 4 + Spring MVC 4当我开始 Apache Tomcat Server 8我收到此错误: Error creating bean with name 'wel
我是一名优秀的程序员,十分优秀!