gpt4 book ai didi

php - 如果查询未找到任何匹配项

转载 作者:行者123 更新时间:2023-12-03 17:46:40 24 4
gpt4 key购买 nike

我有一个网页,它在客户端的计算机中创建一个名为“token”的 cookie,当他登录时,其中包含一个随机值。该 cookie 是从一个单独的登录页面创建的,并且不包括在此处,因为 cookie 已经创建没有问题。

然后,我将来自客户端计算机的 cookie token 值与我在 SQLite3 数据库中的 token 值进行匹配。如果两者都匹配,我从与 token 相同的行中选择客户的电子邮件。

目前,如果 cookie token 的值和数据库 token 按预期匹配,则此方法有效。但是,如果两个 token 不匹配,我很难找出方法,因此不会显示电子邮件。确切地说,我有问题;

if(!$email)

代码区域,因为我不知道如何检查是否没有电子邮件要返回。

这是我拥有的完整代码,请注意 $url 之类的变量和 $db已从外部 *.php 传递我已经包含的文件。
<?php include 'root.php';?>
<?php include ''.$root.'/database.php';?>

<?php

$token=$_COOKIE["token"];
$auth = $db->query("select email, token from users where token='$token'");

if(!isset($token)){
header('location: '.$url.'/login');
}
else {
while ($row = $auth->fetchArray()){
$email=$row['email'];
if(!$email){
echo "Didn't find any emails matching with the current cookie.";
}
}
}
?>

最佳答案

解决方案可以是:

$token = $_COOKIE["token"];
// Why execute a query if token is not set?
if(!isset($token)){
header('location: '.$url.'/login');
exit();
}

$auth = $db->query("select email, token from users where token='$token'");
// `fetchArray` fetches you row of FALSE if there are no rows.
$row = $auth->fetchArray();

if ($row) {
$email=$row['email'];
} else {
echo "Didn't find any emails matching with the current cookie.";
}

关于php - 如果查询未找到任何匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54704412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com