Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.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 如何在函数中检索mysqli变量_Php_Mysqli - Fatal编程技术网

Php 如何在函数中检索mysqli变量

Php 如何在函数中检索mysqli变量,php,mysqli,Php,Mysqli,在函数中,我想使用if语句查找mysqlibind_result()变量if($QandReplyType=='Single')){但是在尝试此操作时,我得到了一个未定义的变量。我查看了一些SO示例,但不了解如何正确实现它。因此,我的问题是,是否有人可以提供一个代码片段,以便能够修复错误,并让我了解如何在函数中检索mysqli变量以供将来使用和giv让我充分理解它应该如何写 代码: 尝试: var $reply; function ExpandOptionType($qandaReplyType

在函数中,我想使用if语句查找mysqli
bind_result()
变量
if($QandReplyType=='Single')){
但是在尝试此操作时,我得到了一个未定义的变量。我查看了一些SO示例,但不了解如何正确实现它。因此,我的问题是,是否有人可以提供一个代码片段,以便能够修复错误,并让我了解如何在函数中检索mysqli变量以供将来使用和giv让我充分理解它应该如何写

代码:

尝试:

var $reply;
function ExpandOptionType($qandaReplyType) { 
    $this->reply = $qandaReplyType; 


         if($qandaReplyType == 'Single'){
...     

}
 }else if($qandaReplyType == 'Multiple'){
...     }
}
}

自从我上次使用mysqli以来已经有很长时间了,但我试着帮助你。 如果您在脚本中、在类中或在多个类中,那么从发布的代码中很难理解

如果你在上课,别忘了用$this。 bind意味着传递变量指针/引用,按您的喜好调用它,而不是值,因此在退出循环的地方,指针被设置为空位置。特别是在close语句之后

仅当您希望将结果传递给函数或更多个Genefly传递给将从接收到的值开始计算新值(无论是否返回新值)的代码块时,才应使用变量绑定。 在这种情况下,我诚恳地邀请您直接处理绑定的结果,否则您应该通过值而不是引用来传递它们

希望这有帮助


Marco

以下是如何使用
$this
将变量从一种方法转移到另一种方法

class database {

     function do_query($id) {

          $result = db("SELECT * FROM tbl WHERE id=?", $id);

          $this->shared_result[] = $result["column"];
        # ^^^^^^^
     }


     function expand_evil($options) {

         foreach ($options as $whatever) {

             if ("Unicorn" == $this->shared_result) {
                            # ^^^^^^^
                ...
             }

         }
     }
}

评论不会被回答。教程确实存在。

使用
$this->variable
?@mario这是我以前尝试过的,但我不知道它是如何编写的,如果我可以在上面的示例中看到代码段的编写方式,那么我将能够使用代码段来查看它是如何实现的,并且我可以使用这是未来的一个例子use@mario当我在我的问题下方发布的尝试中遵循示例时,我收到了一个未定义的T_VAR。这应该是什么?您是否看到尝试中的任何其他问题?只需对需要从一个方法转移到另一个方法的所有变量使用前缀。不完全是局部变量,如$reply。我不知道您在做什么,也没有显示完整的代码或通知/错误消息。是的,如果未设置,请在所有方法中使用它。您好,正如我对mario所说的,如果您能在上面的示例中向我展示如何实现它的代码片段,我将能够看到它是如何编写的,并且我可以将其用作将来函数的参考我在内部使用mysqli变量创建。我将给您写一个简短的示例,但为什么不使用pdo?pdo可以简化您的代码
class database {

     function do_query($id) {

          $result = db("SELECT * FROM tbl WHERE id=?", $id);

          $this->shared_result[] = $result["column"];
        # ^^^^^^^
     }


     function expand_evil($options) {

         foreach ($options as $whatever) {

             if ("Unicorn" == $this->shared_result) {
                            # ^^^^^^^
                ...
             }

         }
     }
}