PHP在函数外部工作但不在函数内部工作

时间:2014-02-18 22:45:47

标签: php

我正在尝试将以下代码放入函数中,因为我需要使用它很多次但是一个变量已更改($ subject)但它似乎没有工作。如果我从函数中删除它并运行它,它工作正常,但一旦它进入函数并被调用它会中断,所以我不确定代码本身是否有任何问题。我是使用PHP函数的新手,但是我是否需要传入所有内容,或者它是否可以访问函数之外的变量,例如上面定义的$ connect和$ id变量?

function count($subject){

    $getCount = $connect->prepare('SELECT count(*) FROM entries WHERE uid = :id AND subject = :subject');
    $getCount->execute(array(
        ':id' => $id, 
        ':subject' => $subject
    ));
    $rowCount = $getCount->fetchColumn();

    return $rowCount;
}

echo count("English");

1 个答案:

答案 0 :(得分:1)

函数内部不再可以访问

$connect。一个简单但不好的解决办法就是:

function count($subject){
    global $connect

更好的解决方法是将$connect变量发送到函数:

function count($subject, $connect){

将您的函数调用更改为

count("The subject", $connect)