Php 为什么我的函数未定义变量:pdo

Php 为什么我的函数未定义变量:pdo,php,pdo,Php,Pdo,为什么我的函数返回未定义变量pdo?我已经尽我所能让它工作,但没有结果。即使我将数据库连接放在同一个页面中,仍然无法工作。有什么问题吗 谢谢 我相信你遇到了范围可变的问题 请参见此处:@meagar您所做的只是将一个问题标记为重复或其他问题,但避免回答您可能没有答案的问题,并妨碍他人以帮助他人为乐。您至少可以放置一个链接,指向以前回答过的问题的位置,这可能是两个完全不同的问题!这就是这个网站的工作原理。你的问题以前被问过很多次,也被回答过很多次。这个世界上真的,真的有一个以前没有被问过的问题吗?

为什么我的函数返回未定义变量pdo?我已经尽我所能让它工作,但没有结果。即使我将数据库连接放在同一个页面中,仍然无法工作。有什么问题吗 谢谢


我相信你遇到了范围可变的问题


请参见此处:

@meagar您所做的只是将一个问题标记为重复或其他问题,但避免回答您可能没有答案的问题,并妨碍他人以帮助他人为乐。您至少可以放置一个链接,指向以前回答过的问题的位置,这可能是两个完全不同的问题!这就是这个网站的工作原理。你的问题以前被问过很多次,也被回答过很多次。这个世界上真的,真的有一个以前没有被问过的问题吗?谢谢你的责备,米加,至少它也认为我有什么问题。那不是责备。我想告诉你如何使用这个网站。您的问题与现有问题重复。如果你读了那个问题,你就会找到你的答案。谢谢。我所做的是将连接变量放在函数中。但是我有很多函数,那么为什么我必须在每个函数中创建新的连接呢?为什么一个连接不能为所有函数工作?但是在其中一个函数上,我有一个错误:可捕获致命错误:PDORow类的对象无法转换为StringRow。我已经解决了这个问题。谢谢你,梅弗罗斯
            function referralCount($uid,$reflvl)
            {

            $stmt= $pdo->query("SELECT * FROM scraffiliateusr WHERE usrinvby='$uid'");
            $nusrref1 = $stmt->rowCount();
            //$arrusrref1 = $stmt->fetch(PDO::FETCH_LAZY);

            $reflvl1=$nusrref1;
            $ttlreflvl2="0";
            $ttlreflvl3="0";

            for ($i=0; $i<$nusrref1; $i++)
            {
            $arrusrref1 = $stmt->fetch(PDO::FETCH_LAZY);
                $stmt= $pdo->query("SELECT * FROM scraffiliateusr WHERE usrinvby='$arrusrref1[0]'");
                $nusrref2 = $stmt->rowCount();
                //$arrusrref2 = $stmt->fetch(PDO::FETCH_LAZY);
                $ttlreflvl2=$ttlreflvl2+$nusrref2;


                    for ($j=0; $j<$nusrref2; $j++)
                    {
                    $arrusrref2 = $stmt->fetch(PDO::FETCH_LAZY);

                    $stmt= $pdo->query("SELECT * FROM scraffiliateusr WHERE usrinvby='$arrusrref2[0]'");
                    $nusrref3 = $stmt->rowCount();
                    //$arrusrref3 = $stmt->fetch(PDO::FETCH_LAZY);

                    $ttlreflvl3=$ttlreflvl3+$nusrref3;
                    }
            }
            $reflvl2=$ttlreflvl2;
            $reflvl3=$ttlreflvl3;
            if($reflvl=='1')
            {
            return($reflvl1);
            }
            elseif($reflvl=='2')
            {
            return($reflvl2);
            }
            elseif($reflvl=='3')
            {
            return($reflvl3);
            }

            }