-3

我只是想问一下这段代码是什么意思?我知道这段代码连接到数据库,它的意思是显示 $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();
4

3 回答 3

2

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

    function query($iquery, &$error)
        {

这将连接到数据库,并将连接存储在名为的变量中$connection

        $connection = get_connection($error);

这将检查连接是否成功,如果是,则在其中运行代码

        if ($connection) {

这将在运行后捕获查询的结果

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

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

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

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

然后该函数返回它从查询中收到的内容,在查询错误的情况下为 NULL。

        return $result;
    } 
于 2013-04-24T19:48:32.343 回答
1

由于&$,错误数组是通过引用传递的。你问的那一行:

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

query()...然后使用在调用where 之后可以访问的数据更新该数组

于 2013-04-24T19:38:35.140 回答
1

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

于 2013-04-24T19:39:38.113 回答