Witam,
Mam następujący problem. Próbuję odczytać zawartość bazy i wypisać na ekranie w postaci zwykłej tablicy. Przeglądarka mówi o błędzie: Fatal error: Call to a member function real_escape_string() on string in C:\xampp\htdocs\test\DBConnect\DatabaseManager.class.php on line 26
Oto cały kod:
config.php
<?php
define ('DB_SERVER', 'localhost');
define ('DB_USERNAME', 'root');
define ('DB_PW', '');
define ('DB_DB', 'supercms');
?>
DatabaseManager.class.php
<?php
class DatabaseManager
{
static public function getConnection()
{
$connect = @new mysqli(DB_SERVER, DB_USERNAME, DB_PW, DB_DB);
if(mysqli_connect_errno())
{
$connect_errno = mysqli_connect_errno();
$connect_error = mysqli_connect_error();
return "Cos zjeb... [".$connect_errno."] $connect_error";
}
else
{
$connect->query("SET NAMES 'utf8'");
return "Połączono z bazą";
}
}
static public function selectBySQL($SQL)
{
$connect = self::getConnection();
$SQL = $connect->real_escape_string($SQL);
$result = $connect->query($SQL);
if(!$result)
{
echo "Wystąpił błąd";
return false;
}
else
{
$resultArray = Array();
while(($row = $result->fetch_array(MYSQLI_ASSOC)) !== NULL)
{
$resultArray[] = $row;
}
}
if(count($resultArray) > 0)
{
return $resultArray;
}
else
{
echo "Znowu zje...";
}
mysqli_close($connect);
}
}
?>
index.php
<?php
require_once("config.php");
require_once("DatabaseManager.class.php");
echo print_r(DatabaseManager::selectBySQL("SELECT * FROM users"));
?>
Nie wiem za bardzo jak sobie z tym błędem poradzić... Funkcja getConnection działa bez problemu. Czy może ktoś wie gdzie tkwi błąd?