我正在尝试创建一个函数来计算MySQL数据库中的不同表行。我有以下脚本,但在执行时,它会生成一个错误,表示变量$con
未设置,但它是。所以我的问题是如何在这个声明中使用“全球”?
function countrows($rows){
$sql = mysqli_query($con,"SELECT * FROM $rows");
$num_rows = mysqli_num_rows($sql);
echo $num_rows;
}
答案 0 :(得分:0)
如果在全局范围内定义了$con
(也就是说,它不是在任何其他函数中创建的),那么请进行以下调用:
global $con;
作为该职能的第一行。
您也可以将其作为函数参数传递:
function countrows($rows, $con){
...
}
答案 1 :(得分:0)
这是你如何做到的:
function countrows($rows){
global $con;
$sql = mysqli_query($con,"SELECT * FROM $rows");
$num_rows = mysqli_num_rows($sql);
echo $num_rows;
}
顺便说一句,如果表格很大,我建议使用SELECT COUNT(*)
代替SELECT *
。后者需要下载表的全部内容以便对行进行计数,前者通常可以在SQL中高效完成。