Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 注意:未定义变量:函数中的链接_Php_Function_Mysqli - Fatal编程技术网

Php 注意:未定义变量:函数中的链接

Php 注意:未定义变量:函数中的链接,php,function,mysqli,Php,Function,Mysqli,我正在尝试显示SQL表中具有条件的行数 表viaturas有4条记录。我想计算列estado中有多少行匹配“不正常”,在本例中为3条记录 我在viaturas.php中创建了一个函数ViaturasInop(): <?php function ViaturasInop() { require_once "config.php"; $query = "SELECT * FROM `viaturas` WHERE `estado` LI

我正在尝试显示SQL表中具有条件的行数

表viaturas有4条记录。我想计算列estado中有多少行匹配“不正常”,在本例中为3条记录


我在viaturas.php中创建了一个函数ViaturasInop()

<?php
    function ViaturasInop()
    {   
        require_once "config.php";

        $query = "SELECT * FROM `viaturas` WHERE `estado` LIKE 'Inoperacional'";

        if ($result=mysqli_query($link,$query))
        $rowcount=mysqli_num_rows($result);

        return $rowcount;

        mysqli_close($link);
    }

    echo ViaturasInop();
?>

您应该永远不要使用require\u一次来获取函数中的mysqli连接

首先,顾名思义,它只能工作一次

此外,即使您克服了这个限制,在每次函数调用中创建一个新连接也会破坏数据库服务器

相反,您必须调用
require_一次“config.php”,然后使用
$link
变量获取mysqli连接。要在函数中建立连接,必须将其作为函数参数传递:

<?php
function ViaturasInop($link)
{   
    $query = "SELECT count(*) FROM `viaturas` WHERE `estado` = 'Inoperacional'";
    $result=mysqli_query($link,$query);
    $row = mysqli_fetch_row($result);
    return $row[0];
}
然后把

echo ViaturasInop($link);

当使用
LIKE
操作符时,通常会在需要数字的地方使用
。。。与“%Inperacional%”类似
否则与
中的estado='Inperacional'相同
config.php中有什么?
config.php
?请注意,永远不要使用mysqli_num_行来计算表中的行数。只有SELECT count(*)查询才能用于此目的
require_once "config.php";
echo ViaturasInop($link);