首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP函数不返回SQL

PHP函数不返回SQL
EN

Stack Overflow用户
提问于 2022-09-14 19:25:44
回答 1查看 27关注 0票数 0

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

由于某些原因,它无法工作并提供错误:试图访问类型为null的值的数组偏移量。全错误消息- https://gyazo.com/38367bee5066d16f419a43aab93cbc89

我不太清楚该如何解决这个问题,我已经尝试了很多事情。我希望函数返回id,这样我就可以在任何需要的地方使用它。我正在使用PHP的包含函数。

UpdatePassword.php

代码语言:javascript
运行
复制
session_start();

include("functions.php");

$id = findUserID(array_key_exists("collar", $_POST));
echo($id);

Functions.php

代码语言:javascript
运行
复制
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']);
    }
}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-14 20:11:30

使用PHP显示一个验证您的三元算子输入的示例:

代码语言:javascript
运行
复制
$id = ( array_key_exists("collar", $_POST) )
  ? findUserID($_POST['collar'])
  : 0;

简写为:

代码语言:javascript
运行
复制
if ( true === array_key_exists("collar", $_POST) ) {
  $id = findUserID($_POST['collar']);
}
else {
  $id = 0;
}

其他验证检查可以包含在每种方法中:

代码语言:javascript
运行
复制
$id = ( 
  array_key_exists("collar", $_POST) // key exists
  && "" !== $_POST['collar']         // not empty string
)
  ? findUserID($_POST['collar'])
  : 0; // if not valid, assign default value
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73722214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档