我有两个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
这是正确的,因为我只有一行对应于杰克的名字。
以下是从同一个表访问相同数据的另一种方法:
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查询输出始终为null。
我在两种情况下使用相同的db表。我不明白什么是错的。
注意: - init.php
用于建立与数据库的连接,并且工作正常。
答案 0 :(得分:0)
您未能在方法中传入$ con变量。
您必须更改方法签名以传入名称变量和连接变量。
由于没有数据库连接,因此没有结果。