注意:未定义的变量:函数中的 link
Notice: Undefined variable: link in a function
我正在尝试显示 SQL table 中带有条件的行数。
tableviaturas有4条记录。我想计算 estado 列中有多少行与 "Inoperacional" 匹配,在此案例,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();
?>
如果运行viaturas.php它正确returns 3 .
在页面中,我希望 index.php 在 HTML 正文中显示结果以下调用函数:
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo ViaturasInop(); ?></div>
但是在 return 中我得到以下错误:
Notice: Undefined variable: link in C:[...]\php\viaturas.php on line 8
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:[...]\php\viaturas.php on line 8
Notice: Undefined variable: rowcount in C:[...]\php\viaturas.php on line 11
我尝试过其他替代方法,但是,我总是遇到同样的错误。
您应该永远不要使用require_once在函数中获取 mysqli 连接。
首先,顾名思义,它只会工作一次。
此外,即使您克服了这个限制,在每个函数调用中创建一个新连接也会破坏您的数据库服务器。
相反,您必须在脚本顶部调用 require_once "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];
}
现在,在您的索引文件中,在顶部某处添加
require_once "config.php";
然后放
echo ViaturasInop($link);
任何你需要的号码
我正在尝试显示 SQL table 中带有条件的行数。
tableviaturas有4条记录。我想计算 estado 列中有多少行与 "Inoperacional" 匹配,在此案例,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();
?>
如果运行viaturas.php它正确returns 3 .
在页面中,我希望 index.php 在 HTML 正文中显示结果以下调用函数:
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo ViaturasInop(); ?></div>
但是在 return 中我得到以下错误:
Notice: Undefined variable: link in C:[...]\php\viaturas.php on line 8
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:[...]\php\viaturas.php on line 8
Notice: Undefined variable: rowcount in C:[...]\php\viaturas.php on line 11
我尝试过其他替代方法,但是,我总是遇到同样的错误。
您应该永远不要使用require_once在函数中获取 mysqli 连接。
首先,顾名思义,它只会工作一次。
此外,即使您克服了这个限制,在每个函数调用中创建一个新连接也会破坏您的数据库服务器。
相反,您必须在脚本顶部调用 require_once "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];
}
现在,在您的索引文件中,在顶部某处添加
require_once "config.php";
然后放
echo ViaturasInop($link);
任何你需要的号码