3

我正在使用 PHP 类连接到数据库。我无法解决问题——请帮助我解决这个问题。

我有一个功能:

function getCampus($cm_id) //returns campus name
{
    $this->query = "select cm_name from campus where cm_id = ".$cm_id.";";
    $rd = $this->executeQuery();
    @$data = $rd->fetch_assoc();
}

当我从中删除@@$data,它不起作用。请帮帮我:解释一下另一种方法是什么。谢谢。

4

4 回答 4

6

@是错误抑制算子。使用它作为代码行的前缀将抑制所有非致命错误。几乎每次都使用它是一个坏主意。

如果删除后没有输出,请尝试error_reporting(E_ALL)在文件顶部或引导类型文件中添加并确保display_errors = Onphp.ini(您也可以使用ini_set('display_errors', 'on'))。

于 2011-03-22T13:06:14.783 回答
2

命令前面的@符号用于忽略执行过程中发生的任何错误。

当您将 a@放在它前面时,该行代码仍然会失败,但是您看不到它。尝试找出问题$rd->fetch_assoc()所在。此外,查询看起来相当错误。

于 2011-03-22T13:06:48.487 回答
2

@ 用于抑制错误和警告。

@不是你的问题

于 2011-03-22T13:07:04.103 回答
2

@PHP 表达式中使用时会抑制该表达式的错误。因此,很可能“它不起作用”,因为$rd->fetch_assoc()它引发了异常。

于 2011-03-22T13:07:04.607 回答