首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php对象无法转换为字符串

问php对象无法转换为字符串
EN

Stack Overflow用户
提问于 2016-01-12 09:01:30
回答 1查看 213关注 0票数 2

我有这段PHP代码,它应该接受从Android应用程序发送的数字,并在数据库中(在另一个字段中)搜索与该数字相等的数字,并将结果发送到Android应用程序。

但我知道这个错误:

无法将类stdClass的对象转换为D:\xampp\htdocs\ \b.php中的字符串

在这一行:

代码语言:javascript
复制
mysql_query(" select  stock_account from  Stock where  phone_id=   (string)$data ") 

这是完整的代码:

代码语言:javascript
复制
if( isset($_POST["json"]) )
{
    $data = json_decode($_POST["json"]);

    mysql_connect("localhost", "root", "password") or die(mysql_error());
    mysql_select_db("dbname") or die(mysql_error());

    $datatwo = mysql_query(" select  stock_account from  Stock where   id=   (string)$data ") or die(mysql_error()) ;  

    echo $datatwo;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-12 09:09:31

第一件事是json_decode生成一个对象。第二件事是来自$data变量的值,所以我们使用$data->id从JSON获取id。我把它转换成像这个$id = (int)$data->id;这样的整数,并将它存储在一个新的变量中。现在,在查询中,您可以传递$id变量来获取行。

如果希望从$data变量中获得不同的值,则需要将$data->id更改为其他值。

代码语言:javascript
复制
<?php

if (isset($_POST["json"])) {
    $data = json_decode($_POST["json"]);

    mysql_connect("localhost", "root", "password") or die(mysql_error());
    mysql_select_db("dbname") or die(mysql_error());

    $id = (int)$data->id;
    $datatwo = mysql_query("SELECT stock_account FROM Stock WHERE phone_id =$id") or die(mysql_error()) ;  

    $row = mysql_fetch_assoc($datatwo);
    echo $row['stock_account'];
}

在这里阅读更多信息:decode

json_decode -解码一个JSON字符串 Usage:混合json_decode ( string $json [,bool $assoc = false [,int $depth = 512,int $options =0 ]] )

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34739282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档