Сорри, если нечто простое.
Есть такое:
<?php
//Это просто статика для упрощения доступа к базе
class DataBase {
const host = "localhost";
const user = "***";
const password = "***";
const db = "***";
private static $instance;
private function __construct() {}
private function __clone(){}
public static function call(){
if(!isset(self::$instance)){
self::$instance = new MySQLi(self::host, self::user, self::password, self::db);
if(self::$instance->connect_error){
throw new Exception('Error MySQL: ' . self::$instance->connect_error);
}
}
return self::$instance;
}
}
?>
class User
{
public function User()
{
...
$this->insert($this->id, $this->name);
}
...
public static function insert($id, $name)
{
$query = "INSERT INTO `user` (`id` , `name`) VALUES ($id, `$name`)";
DataBase::call()->query($query);
}
...
}
Вызывается этот скрипт.
<?php
require_once('DataBase.php');
require_once('user.php');
...
if($my_user == null)
{
$my_user = new User($user_id, $user_name);
...
В нем запрашивается пользователь. Если нет - создается новый. При создании нового пользователя должна быть вставка в таблицу мускула. Функция insert вызывается (проверил Xdebug-ом). Однако ничего не вставляется.
В таблице не только два поля id и имя. Там масса полей. Но при создании нового пользователя нужно все остальные по дефолту.
Есть два предположения -неверно составлен запрос (я в них почти ни бум бум). Или другое. Там есть три поля - блобы. У которых не дает установить дефолтные значения. Может оттого, что у них нет дефолтных значений строка в таблицу не вставляется.
Подскажите, плиз, - что делаю неверно.
Спасибо.