Во-первых, спасибо, что прочитали это. Как решить мои проблемыmysqli_result не может быть преобразован в строку
КОД
$roomid = CMS::$MySql->Query("SELECT room_id FROM user_roomvisits WHERE user_id ='".$users['id']."' ORDER BY entry_timestamp DESC LIMIT 1");
$room = CMS::$MySql->Query("SELECT caption FROM rooms WHERE id ='".$roomid."'");
И получил ошибку:
Catchable фатальная ошибка: Объект класса mysqli_result не может быть преобразован в строку.
Здесь MySQL класс
<?php
class MySql{
private $Link;
private $Statement;
public $Result = null;
private $FetchRows = Array();
public function __construct($Data)
{
$this->Link = new MySQLi($Data['mysql.hostname'], $Data['mysql.username'], $Data['mysql.password'], $Data['mysql.database']);
}
public function Query($Query)
{
if (isset($this->Statement))
{
$this->Statement->Close();
$this->Statement = null;
}
return $this->Link->query($Query);
}
public function Prepare($Query)
{
if (isset($this->Statement))
{
$this->Statement->Close();
}
$this->Statement = $this->Link->prepare($Query);
}
public function Execute($FuncArgs = null)
{
if (!is_array($FuncArgs))
{
$FuncArgs = func_get_args();
}
$Args = Array('');
foreach ($FuncArgs as &$Arg)
{
$Args[0] .= substr(gettype($Arg), 0, 1);
$Args[] =& $Arg;
}
call_user_func_array(Array($this->Statement, 'bind_param'), $Args);
if (!$this->Statement->Execute())
{
exit('Execute Stmt Error: '.$this->Statement->error);
}
return $this->Statement;
}
public function Fetch($Columns)
{
if (!is_array($Columns))
{
$Columns = func_get_args();
}
if ($this->Result == null)
{
$this->Result = array_combine($Columns, $Columns);
$Args = Array();
foreach ($Columns as $Column)
{
$Args[] =& $this->Result[$Column];
}
call_user_func_array(Array($this->Statement, 'bind_result'), $Args);
}
$RowsLeft = $this->Statement->fetch();
if (!$RowsLeft)
{
self::Clear();
return false;
}
return $this->Result;
}
?>
это класс MySQL для PDO может быть?
почему вы используете PDO, если вы не хотите использовать подготовленные заявления? –
Покажите нам больше кода. вероятно, '$ roomid' или' $ room', объявленный как строка. – MeNa
@ Mr.Alien, где PDO? – egig