Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基本PHP-从stdClass对象中获取数据_Php_Mysql - Fatal编程技术网

基本PHP-从stdClass对象中获取数据

基本PHP-从stdClass对象中获取数据,php,mysql,Php,Mysql,我有一个快速的问题,关于一些我认为很简单的事情——我做了一些研究,发现了一些看起来很有希望的链接,尤其是,但由于某些原因,它对我不起作用 无论如何,我在MySQL中创建了一个存储过程,并使用MySQL Workbench对其进行了测试,它工作正常——它只添加num1和num2并返回结果。现在我试图让它在PHP中工作,但结果不是一个整数,而是一个包含该整数的stdClass对象的数组。从返回大量数据的过程的角度来看,这是有道理的,但是我在只处理整数时遇到了一些困难 我运行以下命令: CALL

我有一个快速的问题,关于一些我认为很简单的事情——我做了一些研究,发现了一些看起来很有希望的链接,尤其是,但由于某些原因,它对我不起作用

无论如何,我在MySQL中创建了一个存储过程,并使用MySQL Workbench对其进行了测试,它工作正常——它只添加num1和num2并返回结果。现在我试图让它在PHP中工作,但结果不是一个整数,而是一个包含该整数的stdClass对象的数组。从返回大量数据的过程的角度来看,这是有道理的,但是我在只处理整数时遇到了一些困难

我运行以下命令:

   CALL database.routine(2,7)
我将结果保存到$var中。当我运行print\r($var)时,我得到:

因此,为了通过数组部分,我特别要求它的第一个元素,运行print_r($var[0]),这让我:

    stdClass Object
    (
    [num1+num2] => 9
    )
现在我需要更深入一层…我尝试了我上面链接的页面所说的内容,并尝试获得$var[0]->[num1+num2],因为该字段似乎是命名的,但这不起作用。我也尝试了一些单引号和双引号的组合,但是运气不好。如何从这个对象中提取数字9?

试试这个

$var[0]->{"num1+num2"}

你试过这个吗

$var[0]->{'num1+num2'}

试试下面的
$var[0]->{'num1+num2'}

试试

$var[0]->{'num1+num2'}

这是疯狂的,但它可能只是工作


$var[0]->{'num1+num2'}

考虑修改数据库例程以使用列别名,因此它不会返回键
num1+num2
,而是返回一个更有用的键
选择num1+num2作为您的_编号
好主意,我不知道我能做到!虽然其他答案在技术上是正确的,但Michaels是关于干净代码的唯一好解决方案(当然是imho)啊哈!现在有一个标点符号组合我没有试过!很好用!谢谢我会接受你的答案,一旦计时器停止,今天就输了是的,我同意,在这些类型的问题上,你会得到大量用户推同一个答案。分数应该奖励给第一响应者。
$var[0]->{'num1+num2'}
$var[0]->{'num1+num2'}