以下代码的含义

时间:2013-04-24 19:35:33

标签: php

我只是想问这个代码是什么意思?我知道这段代码连接到数据库,它意味着在数组中显示$error[count($error)]及其代码。但出于某种原因,错误不会出现

function query($iquery, &$error)
    {
        $connection = get_connection($error);
        if ($connection) {
            $result =  mysql_query($iquery, $connection);
            if (!$result)
                $error[count($error)] = "Query '$iquery' failed" + mysql_error();
        }
        return $result;
    } 

尤其是这条线意味着什么:

$error[count($error)] = "Query '$iquery' failed" + mysql_error();

3 个答案:

答案 0 :(得分:2)

这是函数声明,它接受一个变量来保存一个名为$iquery的查询 它传递BY REFERENCE,一个包含名为$error

的变量的错误
    function query($iquery, &$error)
        {

这将建立与数据库的连接,并将连接存储在名为$connection

的变量中
        $connection = get_connection($error);

检查连接是否成功,如果是,则运行

中的代码
        if ($connection) {

这会在查询运行后捕获查询结果

注意不应再使用此功能mysql_query()

            $result =  mysql_query($iquery, $connection);

此部分检查查询是否成功完成,如果没有,则会向已通过引用传递的数组$error添加错误,因此它将更新已传递给函数的原始数组带有MySQL生成错误的query($iquery, &$error)

            if (!$result)
                $error[count($error)] = "Query '$iquery' failed" + mysql_error();
        }

然后该函数返回从查询中收到的内容,如果出现查询错误,该函数将为NULL。

        return $result;
    } 

答案 1 :(得分:1)

因为&$,错误数组通过引用传递。你问的问题:

$error[count($error)] = "Query '$iquery' failed" + mysql_error();

...然后使用数据更新该数组,而不是在调用query()之后访问的数据

答案 2 :(得分:1)

它只是尝试运行查询并返回查询资源。如果出现错误,则将其添加到数组中。