SQL 错误可捕获的致命错误:stdClass 类的对象无法转换为字符串
Posted
技术标签:
【中文标题】SQL 错误可捕获的致命错误:stdClass 类的对象无法转换为字符串【英文标题】:SQL error Catchable fatal error: Object of class stdClass could not be converted to string 【发布时间】:2017-01-11 05:14:51 【问题描述】:function getjobid()
global $geotag_table, $wpdb;
$qry = "SELECT * FROM mirdc_jo_form WHERE jo_id = (SELECT MAX(jo_id) FROM mirdc_jo_form)";
$desc = $wpdb->get_results($qry);
return $desc;
你们能帮帮我吗..我正在尝试从我的表格中获取 id 并尝试将数据显示给我的 wordpress..
<?php foreach (getjobid() as $generatedid)
echo $generatedid;?> #<------ this is the error
这是我的 wordpress 代码.. 你能教我如何将对象转换为字符串.. 将结果显示给我的 wordpress。
【问题讨论】:
错误是不言自明的,您正在尝试回显对象。<?php $array_data = getjobid(); ?>
现在先打印,然后相应地工作。显示使用打印此变量后得到的内容
请尝试 $desc = $wpdb->get_results($qry,ARRAY_A);
呃对不起对不起我只是一个初学者我如何将它转换为字符串?
@manish jesani 错误消失了,但它显示“数组”..
@ElliJoshuaRey print_r($generatedid);
【参考方案1】:
请试试这是你的代码的面糊
function getjobid()
global $geotag_table, $wpdb;
$qry = "SELECT jo_id FROM mirdc_jo_form WHERE jo_id = (SELECT MAX(jo_id) FROM mirdc_jo_form)";
$desc = $wpdb->get_col($qry);
return $desc[0];
$lastid = getjobid();
【讨论】:
ohhhhh... @ElliJoshuaRey 您的查询 SELECT * FROM mirdc_jo_form ......您从数据库表中获取所有字段,但您只需要一个字段“jo_id”。那你为什么要得到所有领域。因此您的信息会因大型数据库而异,您会从数据库中获得一个字段 mysql 查询快速响应,否则您的网站会慢.... ohhhhhhhhhhh isee thx 为您提供的信息,我将永远记下它:D sr 我有一个问题.. 如果我的桌子上没有价值怎么办.. 如果我的桌子上没有数据。我想要值为 1.. 尝试一个 if 语句,但它有错误if (!$lastid) echo "Ther is no data"; echo $val1; else foreach ($lastid as $row) $auto = $row->jo_id; if ($auto === '') echo "There is no id!"; else echo $auto;
错误的部分是当我的桌子上有一个值时,它给了我很多9999999
(我的最后一个 id 是 9)为什么它给了我这么多 9?
愚蠢的我 xD 为什么当我已经得到 jo_id
if (!$lastid) echo "Ther is no data"; echo $val1; else echo $lastid->jo_id;
时我还要放置一个 foreach 语句【参考方案2】:
$generatedid
是一个Object
并包含整行数据。您需要从该行中指定您想要的列。
您应该尝试var_dump($generatedid)
来查看所有数据。
foreach (getjobid() as $generatedid)
echo $generatedid->jo_id; // or whatever ID you want from DB
【讨论】:
OWWW 我明白了:(我太菜鸟了 THX SR T_T 我之前试过 ---- echo $generatedid["jo_id"];但这是错误的 这是一个对象,你应该试试$generatedid->jo_id
我是新来的,当我不懂编程时,它对我有很大帮助:D 如果我有问题,很多人都想帮忙..
这是我们所有人的学习阶段。每个人在某个时间点都是新的。保持精神,继续前行。祝你一切顺利。 :)以上是关于SQL 错误可捕获的致命错误:stdClass 类的对象无法转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章
致命错误:未捕获的错误:调用未定义的方法 stdClass::option();
PHP致命错误:未捕获的错误:不能将stdClass类型的对象用作数组
可捕获的致命错误:类 mysqli_stmt 的对象无法转换为字符串
可捕获的致命错误:类 AppBundle\Entity\Categoria 的对象无法转换为字符串
可捕获的致命错误:类Proxies的对象 __ CG __ AppBundle Entity Modelo无法转换为字符串