如何将$ _SESSION传递给变量

时间:2014-02-14 03:58:49

标签: php mysqli

您好我开始学习php 5和mysqli,但我在这里堆叠我试图搜索与我相同的问题,但我确实得到了我试图找到的解决方案。

问题是我想将assign session用作我的查询的变量。 但我有这种错误:

Catchable fatal error: Object of class mysqli_result
could not be converted to string in

这是我的页面:

connect.inc.ph

$con = mysqli_connect($host, $user, $pass, $dbname);

if(mysqli_connect_errno()){
    echo "Failed to Connect to Mysql:" . mysqli_connect_error();
    } 

core.inc.php

ob_start();
session_start();
$current_file = $_SERVER['SCRIPT_NAME'];


function loggedin(){
if(isset($_SESSION['user_id']) && !empty($_SESSION['user_id'])) {
    return true;
    }   else{
        return false;
    }

}

的index.php

require 'core.inc.php';
require 'connect.inc.php';


if(loggedin()){

    header('Location:main_cp.php');
        } else{

        include 'login.php';
        }

main_cp.php

我的错误:

$user_id = $_SESSION['user_id'];                                  
$sql="SELECT idno,FullName FROM user_info WHERE idno='$user_id'";


if ($result=mysqli_query($con,$sql)) {
    if ($obj=mysqli_fetch_object($result)) {
                echo $obj->idno,' - ' . $obj->FullName;
    }                               
    } 

抱歉新手问题。

非常感谢你们。

4 个答案:

答案 0 :(得分:1)

首先,您确实需要清理查询:

$query="SELECT idno,FullName FROM user_info WHERE idno='".mysqli_real_escape_string($con,$user_id)."'";

其次,您的错误在您的查询中。 $ sql变量不存在。试试这个:

if ($result=mysqli_query($con,$query))

答案 1 :(得分:1)

试试这个,

$user_id = $_SESSION['user_id'];
$sql="SELECT idno,FullName FROM user_info WHERE idno='$user_id'";
if ($result=mysqli_query($con,$sql)) {
  $row_cnt = mysqli_num_rows($result);
  if($row_cnt>0){
        $obj=mysqli_fetch_object($result);
        echo $obj->idno,' - ' . $obj->FullName;
    }
}

答案 2 :(得分:0)

你的代码无法像编写的那样运行:

$query="SELECT idno,FullName FROM user_info WHERE idno='$user_id'";
^^^^^^---- note variable name here

if ($result=mysqli_query($con,$sql)) {
                              ^^^---completely different variable

除非先前定义了$sql且包含有效查询,否则您的查询调用将失败,甚至永远不会到达获取代码。

答案 3 :(得分:-3)

尝试使用以下方法更改您的查询: SELECT idno,FullName FROM user_info WHERE idno ='{$ user_id}'

添加大括号。