如何在mysqli_query语句中使用全局变量

时间:2013-10-06 00:43:09

标签: mysql count global rows

我正在尝试创建一个函数来计算MySQL数据库中的不同表行。我有以下脚本,但在执行时,它会生成一个错误,表示变量$con未设置,但它是。所以我的问题是如何在这个声明中使用“全球”?

function countrows($rows){
$sql = mysqli_query($con,"SELECT * FROM $rows");
$num_rows = mysqli_num_rows($sql);
echo $num_rows;
}

2 个答案:

答案 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中高效完成。