您好我开始学习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;
}
}
抱歉新手问题。
非常感谢你们。
答案 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}'
添加大括号。