[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: MySQLi
Stasonix
Сабж.


<?php

$mysqli = new mysqli('localhost','root','123','test');

if (mysqli_connect_errno()){
printf("Подключение к серверу MySQL невозможно. Код ошибки: %s\n",mysqli_connect_error());
exit;
}


class Model {

public function getUserNameByEmail($usE)
{
if ($result = $mysqli->prepare('SELECT * FROM table'));
{
$result->execute();
$result->bind_result($name);
$result->fetch();

return $name;
}

}

}


$user = new Model();

echo $user->getUseraNameByEmail('my@email.com');


?>


* выбираю все поля, просто для сокращения.



Спустя 5 минут, 30 секунд (3.05.2012 - 14:52) inpost написал(а):
$mysqli - его нет внутри класса. Почитай про область видимости переменных.

Спустя 17 минут, 8 секунд (3.05.2012 - 15:09) Stasonix написал(а):
А как его внутрь класса запихнуть? То как переменные внутрь класса запихнуть я знаю, а вот как в этом случае затрудняюсь,
п.с. наверно при конструкторе лучше определить.

Спустя 3 минуты, 39 секунд (3.05.2012 - 15:12) inpost написал(а):
Вторым аргументом передавать внутрь метода класса.
У себя я вообще сделал статичный синглтон для этих целей.

Спустя 2 минуты, 10 секунд (3.05.2012 - 15:15) Stasonix написал(а):
возможно подкорректируете, ошибка та же самая выдается:

class Model {

private $mysqli;

public function getUserNameByEmail($usE)
{
if ($result = $mysqli->prepare('SELECT * FROM table'));
{
$result->execute();
$result->bind_result($name);
$result->fetch();
}

}


private function connect()
{

$this->mysqli = new mysqli('localhost','root','123','test');

if (mysqli_connect_errno()){
printf("Подключение к серверу MySQL невозможно. Код ошибки: %s\n",mysqli_connect_error());
exit;
}
else
{
return TRUE;
}

}


public function __construct()
{
$this->connect();
}

}


$user = new Model();

echo $user->getUserNameByEmail('my@email.com');

Спустя 27 секунд (3.05.2012 - 15:15) T1grOK написал(а):
Чтот тип такого. По синглтону. И дергать постоянно getInstance.

class DB{
static private $instance = NULL;

static function getInstance()
{
if (self::$instance == NULL)
{
self::$instance = new mysqli('localhost','root','123','test');
}
return self::$instance;
}

private function __construct()
{
}


private function __clone()
{
}

}


Спустя 2 минуты, 58 секунд (3.05.2012 - 15:18) T1grOK написал(а):
Цитата (Stasonix @ 3.05.2012 - 13:15)
возможно подкорректируете, ошибка та же самая выдается:

Опять же. Читаем об области видимости переменных.
$this->mysqli И $mysqli разные переменные.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.