有一个问题从mysql转换为mysqli

时间:2013-02-04 23:14:16

标签: php mysqli

我将我的网站从mysql转换为mysqli,我遇到了一个问题。我的网站是基于会员的,我有一个包含文件,用于检查用户登录状态,连接到数据库,并启动会话等。当我将该文件包含到我的索引页面时,我收到服务器错误:

  

HTTP错误500(内部服务器错误):出现意外情况   在服务器尝试完成请求时遇到。

奇怪的是,如果我只包含我的数据库连接文件而不是check_login_user.php文件页面正常工作,我检索数据的所有查询都会成功运行,所以我认为错误必须在check_login_user.php中但我找不到它。也许额外的一双眼睛和更熟悉mysqli的人可以为我揭示这一点?这是check_login_user.php

<?php
session_start();
ini_set("display_errors", 0);
// Files that inculde this file at the very top should NOT require connection to database or session_start().
include_once('db_connect.php');
// Initialize some vars
$user_ok = false;
$log_id = "";
$log_username = "";
$log_password = "";
// User Full Evaluation QUERY function
function evalLoggedUser($lid,$lp){
    $result = $mysqli->query("SELECT id FROM users WHERE plusid='$lid' AND pass='$lp' LIMIT 1");
    $numrows = $result->num_rows;
    if($numrows > 0){
        return true;
    } else {
        return false;
    }
}
if(isset($_SESSION["plusid"]) && isset($_SESSION["name"]) && isset($_SESSION["pass"])) {
    $log_id = preg_replace('#[^0-9]#', '', $_SESSION['plusid']);
    $log_username = preg_replace('#[^a-z 0-9]#i', '', $_SESSION['name']);
    $log_password = preg_replace('#[^0-9]#', '', $_SESSION['pass']);
    $user_ok = evalLoggedUser($log_id,$log_password);
} else if(isset($_COOKIE["ci"]) && isset($_COOKIE["cn"]) && isset($_COOKIE["cp"])){
    $log_id = preg_replace('#[^0-9]#', '', base64_decode($_COOKIE['ci']));
    $log_username = preg_replace('#[^a-z 0-9]#i', '', base64_decode($_COOKIE['cn']));
    $log_password = preg_replace('#[^0-9]#', '', base64_decode($_COOKIE['cp']));
    $_SESSION['plusid'] = $log_id;
    $_SESSION['name'] = $log_username;
    $_SESSION['pass'] = $log_password;
    // Check the user out
    $user_ok = evalLoggedUser($log_id,$log_password);
    if($user_ok == true){
        $update = "UPDATE users SET lastlogin=now() WHERE plusid='$log_id' LIMIT 1";
        $mysqli->query($update);
    }
}
?>

0 个答案:

没有答案