php - 与 php 一起使用时相同的 mysqli 查询但结果不同

标签 php mysql mysqli

我有两个 php 脚本来访问数据库表中的数据。

index.php

<?php
require "init.php";
$name = "Jack";
$user_query = "SELECT * FROM employee WHERE employeeName like '$name';";
$result = mysqli_query($con,$user_query);

$data = array();

$no_of_rows = mysqli_num_rows($result);


if($no_of_rows > 0)
{
    $data["error"] = TRUE;
    $data["message"] = "User Found";
    echo json_encode($data);
}

else
{
    $data["error"] = FALSE;
    $data["message"] = "User Not Found";
    echo json_encode($data);

}
?>

在这里,如果我回显 $no_of_rows,我会得到 1,这是正确的,因为我只有一行对应于名字 Jack。

这是从同一个表访问相同数据的另一种方法:

test.php

<?php

require "userTester.php";
$name = "Jack";


$mUser = new UserCheck();

$testResult = $mUser -> userPresent($name);

$data = array();

if($testResult == true)
{
    $data["error"] = TRUE;
    $data["message"] = "User Found";
    echo json_encode($data);
}

else
{
    $data["error"] = FALSE;
    $data["message"] = "User Not Found";
    echo json_encode($data);
}

?>

userTester.php

<?php
require "init.php";

class UserCheck
{

    function userPresent($name)
    {
        echo "Name = " .$name;
        $my_query = "SELECT * FROM employee WHERE employeeName like '$name';";
        $result = mysqli_query($con,$my_query);

        echo json_encode($result);

        $num_of_rows = mysqli_num_rows($result);

        echo "Rows = " .$num_of_rows;

        if($num_of_rows > 0)
        {
            return true;
        }

        else
        {
            return false;
        }

    }

}
?>

在这种情况下,$num_of_rows 始终返回 0。事实上,sql 查询输出始终为空。

我在这两种情况下都使用相同的数据库表。我不明白出了什么问题。

注意:- init.php 用于建立与数据库的连接,并且工作正常。

最佳答案

您未能在方法中传入 $con 变量。

您必须更改方法签名以传入名称变量和连接变量。

您没有得到任何结果,因为它没有数据库连接。

关于php - 与 php 一起使用时相同的 mysqli 查询但结果不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31881764/

相关文章:

php - 在 foreach 循环中调用存储过程 - 仅首先执行

php - 使用php linux服务器解析大文件

mySql 为每个用户选择最后一个条目

mysql - 如何在mysql中叠加select和join?

java - 在搜索栏中使用单引号

php - 如何在 PHP 类中使用 mysqli_query?

php - json_encode 不双引号 NULL ; cocoa touch 不当

php - 变量未设置&表单提交错误问题

php - 如何在mysql中选择从最后一行到第一行

php - 带有下划线的PHP&MYSQL用户名