PHP AJAX-函数不返回SQL ID



我正在尝试运行一个查询,它通过PHP使用领号返回用户的SQL行id。

由于某些原因,它不起作用,并提供了一个错误:试图访问null类型值的数组偏移量。完整错误消息-https://gyazo.com/38367bee5066d16f419a43aab93cbc89

我不知道该怎么解决,我试过很多方法。我希望函数返回id,这样我就可以在需要的地方使用它。我使用的是PHP的include函数。

UpdatePassword.php

session_start();
include("functions.php");
$id = findUserID(array_key_exists("collar", $_POST));
echo($id);

Functions.php

function findUserID($collar){
$id = "";
include("../connection.php");
$query = "SELECT `id` FROM `users` WHERE collar = '".mysqli_real_escape_string($link, $collar)."'";
if ($result = mysqli_query($link, $query)){
//echo "Query was Successful";

$row = mysqli_fetch_array($result);
return($row['id']);
}
}

使用PHP三元运算符显示一个验证$_POST输入的示例:

$id = ( array_key_exists("collar", $_POST) )
? findUserID($_POST['collar'])
: 0;

这是的缩写

if ( true === array_key_exists("collar", $_POST) ) {
$id = findUserID($_POST['collar']);
}
else {
$id = 0;
}

每种方法都可以包括其他验证检查:

$id = ( 
array_key_exists("collar", $_POST) // key exists
&& "" !== $_POST['collar']         // not empty string
)
? findUserID($_POST['collar'])
: 0; // if not valid, assign default value

最新更新