【发布时间】:2020-07-10 08:11:24
【问题描述】:
我正在使用此代码检查用户是否存在于数据库中,如果是,则
输出
{
"check": "true",
}
但是,它返回 null
这是代码
<?php
include 'database.php';
error_reporting (E_ALL ^ E_NOTICE);
$UIDresult=$_POST["UIDresult"];
$Write="<?php $" . "UIDresult='" . $UIDresult . "'; " . "echo $" . "UIDresult;" . " ?>";
file_put_contents('UIDContainer.php',$Write);
function get_data($res){
$pdo = Database::connect();
$sql= "SELECT * FROM table_nodemcu_rfidrc522_mysql WHERE id = '$res' ";
$query_res =$pdo->query($sql);
$count= count($query_res->fetchAll());
$existe=array();
if ( !$query_res ) {
echo $query_res->error;
exit;
}
if($count > 0){
$existe[] = array('check'=>'true');
}
else
{
$existe[] = array('check'=>'false');
}
return json_encode($exsite);
}
$file_name='existe.json';
if(file_put_contents($file_name,get_data($UIDresult)))
{
echo 'file created';
}else{
echo 'error';
}
?>
每次加载 php 文件时,existe.json 文件都包含 null
感谢任何帮助!
【问题讨论】:
-
这是实际复制的代码吗?如果是,您在这里有一个错字:
return json_encode($exsite);。变量名是$existe。您应该会看到一个错误。 -
您的
get_data()函数并不总是返回值,如果$pdo->query()失败则没有返回值。 -
@El_Vanja 你是对的,解决了问题,非常感谢
-
如果您已经在使用 PDO,请切换到参数化查询以避免SQL injection。
-
@El_Vanja 谢谢,我会考虑的