gpt4 book ai didi

php - 我无法使用 PDO 计算数据库中的结果

转载 作者:搜寻专家 更新时间:2023-10-30 23:41:39 24 4
gpt4 key购买 nike

我有这个错误显示:注意: undefined variable :conn in D:\xampp\htdocs\website\core\functions\users.php 第4行

fatal error :在 D:\xampp\htdocs\website\core\functions\users.php 第 4 行调用成员函数 query() 为空

这是连接数据库

连接.php

<?php 
$servername = "localhost";
$user = "root";
$passwd = "";
$dbname = "userdata";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $user, $passwd);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $exc) {
die($exc->getMessage());
}
?>

这部分我遇到了问题

用户.php

    <?php 
function user_exists($username){
$sql ="SELECT COUNT('id') FROM users where username = '$username'";
$query = $conn->query($sql);
$result = $query->fetchAll(PDO::FETCH_ASSOC);
if(count($result)){
$res = 0;
}else {
$res = 1;
}
return $res;
}
?>

这是我将 users.php 与 connect.php 连接起来的地方

初始化文件

    <?php
session_start();
require 'database/connect.php';
require 'functions/users.php';
require 'functions/general.php';

$errors = array();
?>

最佳答案

这是一个 variable scope问题。

因为 $conn 是在您的函数之外设置/声明的,所以您无法在函数内部访问它。

按如下方式修改您的函数:

function user_exists($username){
// This gets you access to the $conn variable inside the function.
global $conn;
$sql ="SELECT COUNT('id') FROM users where username = '$username'";
$query = $conn->query($sql);
$result = $query->fetchAll(PDO::FETCH_ASSOC);
if(count($result)){
$res = 0;
}else {
$res = 1;
}
return $res;
}

关于php - 我无法使用 PDO 计算数据库中的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34344375/

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