PHP文件中的未定义变量

时间:2017-03-25 10:32:13

标签: php

我收到错误未定义变量:con at line:

$filter_Result = mysqli_query($con,$query);

在这个PHP文件中:

<?php require_once('../Connections/conexion.php'); 

if(isset($_POST['search']))
{
    echo "estoy filtrando";
    $valueToSearch = $_POST['valueToSearch'];
    // search in all table columns
    // using concat mysql function
    $query = "SELECT * FROM `tblusuario` WHERE CONCAT(`idUsuario`, `strEmail, `strNombre`) LIKE '%".$valueToSearch."%'";
    $search_result = filterTable($query);

    $totalRows_DatosConsulta = mysqli_num_rows($search_result);

}
 else {

     echo "estoy sin filtrar";

     $query = "SELECT * FROM `tblusuario`";
     $search_result = filterTable( $query );

     $totalRows_DatosConsulta = mysqli_num_rows( $search_result );
}


function filterTable($query)
{
    $filter_Result = mysqli_query($con,$query);
    return $filter_Result;
}
?>

这是文件conexion.php,其中定义了变量$ con:

$hostname_con = "p:localhost";
$database_con = "ondemand";
$username_con = "root";
$password_con = "";
$con = mysqli_connect($hostname_con, $username_con, $password_con, $database_con);
mysqli_set_charset($con, 'utf8');

我已检查文件conexion.php是否被正确找到,并且已加载。

我无法找到错误的原因。

2 个答案:

答案 0 :(得分:1)

你需要像这样使用它

function filterTable($query)
{
    global $con;
    $filter_Result = mysqli_query($con,$query);
    return $filter_Result;
}

或者您可以在调用函数时传递$con作为参数。

   function filterTable($con, $query)
    {
        $filter_Result = mysqli_query($con,$query);
        return $filter_Result;
    }

这是由于PHP中的变量范围。

答案 1 :(得分:1)

function filterTable($con, $query)
{
    $filter_Result = mysqli_query($con,$query);
    return $filter_Result;
}