Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in Z:\home\test1.ru\www\db.php on line 31
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in Z:\home\test1.ru\www\db.php on line 31
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Z:\home\test1.ru\www\db.php on line 33
<?php
class ConnectDB{
public $dbname;
public $dbhost;
public $dbuser;
public $dbpassword;
public function connect()
{
mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbname);
}
}
$connect = new ConnectDB;
$connect->dbname = 'test';
$connect->dbhost = 'localhost';
$connect->dbuser = 'root';
$connect->dbpassword = '';
print_r($connect);
$sql = 'select id from table where id < 3';
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($reult))
{
echo $row['id'];
}
Мне кажется всё верно!в чём ошибка!
Спустя 2 минуты, 31 секунда (25.03.2011 - 20:11) sharki написал(а):
$connect = new ConnectDB();
Спустя 3 минуты, 44 секунды (25.03.2011 - 20:15) nugle написал(а):
я и так пробовал, тоже самое!
Спустя 1 минута, 4 секунды (25.03.2011 - 20:16) sharki написал(а):
А как насчет вызвать свою функцию connect() ?
Спустя 27 секунд (25.03.2011 - 20:16) Trianon написал(а):
метод connect никто не вызывает.
переменная $reult неопределена.
переменная $reult неопределена.
Спустя 43 секунды (25.03.2011 - 20:17) sharki написал(а):
$connect = new ConnectDB();
$connect->dbname = 'test';
$connect->dbhost = 'localhost';
$connect->dbuser = 'root';
$connect->dbpassword = '';
$connect->connect();
Спустя 8 секунд (25.03.2011 - 20:17) nugle написал(а):
$connect->connect(); ? так по две таких ошибки
Спустя 59 секунд (25.03.2011 - 20:18) ZSH написал(а):
А где подключение к БД(вызов метода подключения)?
Спустя 4 секунды (25.03.2011 - 20:18) sharki написал(а):
class ConnectDB{
public $dbname;
public $dbhost;
public $dbuser;
public $dbpassword;
public function connect()
{
mysql_connect($this->dbhost, $this->dbuser, $this->dbpassword);
mysql_select_db($this->dbname);
}
}
$connect = new ConnectDB();
$connect->dbname = 'test';
$connect->dbhost = 'localhost';
$connect->dbuser = 'root';
$connect->dbpassword = '';
$connect->connect();
Спустя 3 минуты, 41 секунда (25.03.2011 - 20:22) nugle написал(а):
sharki
Catchable fatal error: Object of class ConnectDB could not be converted to string in Z:\home\test1.ru\www\db.php on line 12
ZSH
как это осуществить?
Catchable fatal error: Object of class ConnectDB could not be converted to string in Z:\home\test1.ru\www\db.php on line 12
ZSH
как это осуществить?
Спустя 46 секунд (25.03.2011 - 20:23) alex12060 написал(а):
<?php
class config
{
var $host = 'localhost';
var $user = 'root';
var $passw = '';
var $db = 'test';
}
class db extends config {
protected $connection;
function __construct() {
$this->connect();
}
private function connect() {
$connection = mysql_connect($this->host, $this->user, $this->passw) or die('<p style="margin: 10px; color: #ff0000">Невозможно соединиться с Базой Данных.</p>');
$db = mysql_select_db($this->db, $connection) or die('<p style="margin: 10px; color: #ff0000">Невозможно выбрать базу.</p>');
return $connection;
}
}
$db = new db;
$sql = 'select id from table where id < 3';
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
echo $row['id'];
}
Спустя 2 минуты, 45 секунд (25.03.2011 - 20:25) nugle написал(а):
alex12060
тоже Catchable fatal error: Object of class ConnectDB could not be converted to string in Z:\home\test1.ru\www\db.php on line 12
тоже Catchable fatal error: Object of class ConnectDB could not be converted to string in Z:\home\test1.ru\www\db.php on line 12
Спустя 8 минут, 48 секунд (25.03.2011 - 20:34) alex12060 написал(а):
Пробуй мой.
Вообще, задавать значения БД в скрипте самом - лишняя тягота. Лучше класс выделить отдельно, обозвав конфигом.
Вообще, задавать значения БД в скрипте самом - лишняя тягота. Лучше класс выделить отдельно, обозвав конфигом.
Спустя 3 минуты, 14 секунд (25.03.2011 - 20:37) T1grOK написал(а):
Всю красоту ООП испортил.
Ток лучше по синглтону организовать во избежание разногласий.
alex12060 - повторяешь ошибку автора $reult -> $result. Блин пока малевал букавки ты уже намалевал классы))
class ConfigDB{
protected $dbname = 'test';
protected $dbhost = 'localhost';
protected $dbuser = 'root';
protected $dbpassword = '';
}
class ConnectDB extends ConfigDB{
public function __construct()
{
mysql_connect($this->dbhost, $this->dbuser, $this->dbpassword);
mysql_select_db($this->dbname);
}
}
$connect = new ConnectDB;
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
echo $row['id'];
}
Ток лучше по синглтону организовать во избежание разногласий.
alex12060 - повторяешь ошибку автора $reult -> $result. Блин пока малевал букавки ты уже намалевал классы))
Спустя 1 минута, 42 секунды (25.03.2011 - 20:39) alex12060 написал(а):
T1grOK
Я полностью переправил свой код)
Сначала не вникал вообще...
Я полностью переправил свой код)
Сначала не вникал вообще...
Спустя 11 минут, 32 секунды (25.03.2011 - 20:51) nugle написал(а):
alex12060
пишет Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Z:\home\test1.ru\www\db.php on line 39
сама ошибка конечно ясна и вроде всё верно, таблица, поле, всё правильно!
T1grOK
ну как я написал это мой первый класс буду учиться!
пишет Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in Z:\home\test1.ru\www\db.php on line 39
сама ошибка конечно ясна и вроде всё верно, таблица, поле, всё правильно!
T1grOK
ну как я написал это мой первый класс буду учиться!
Спустя 2 минуты, 41 секунда (25.03.2011 - 20:53) T1grOK написал(а):
у тебя mysql_fetch_assoc($reult), а надо mysql_fetch_assoc($result) и ошибки не будет
Спустя 2 минуты, 7 секунд (25.03.2011 - 20:56) nugle написал(а):
T1grOK
это я поправил, перед тем как написал!
это я поправил, перед тем как написал!
Спустя 2 минуты, 19 секунд (25.03.2011 - 20:58) alex12060 написал(а):
Ошибку исправь, с reult на result
Должно работать...
Должно работать...
Спустя 6 минут, 47 секунд (25.03.2011 - 21:05) T1grOK написал(а):
Результат пустой, проверь количество записей результата mysql_num_rows($result)
Спустя 1 минута, 49 секунд (25.03.2011 - 21:06) nugle написал(а):
ничего не выводит, никакой запрос ничего не выводит!
Спустя 50 секунд (25.03.2011 - 21:07) alex12060 написал(а):
nugle
Быть такого не может. Покажи свой код.
Быть такого не может. Покажи свой код.
Спустя 1 минута, 47 секунд (25.03.2011 - 21:09) nugle написал(а):
$sql = 'select * from table';
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
echo $row['id'];
}
Спустя 2 минуты, 7 секунд (25.03.2011 - 21:11) alex12060 написал(а):
* весь код *
С классом.
С классом.
Спустя 1 минута, 10 секунд (25.03.2011 - 21:12) nugle написал(а):
<?php
class config
{
var $host = 'localhost';
var $user = 'root';
var $passw = '';
var $db = 'test';
}
class db extends config {
protected $connection;
function __construct() {
$this->connect();
}
private function connect() {
$connection = mysql_connect($this->host, $this->user, $this->passw) or die('<b style="margin: 10px; color: #ff0000">Невозможно соединиться с Базой Данных.</b>');
$db = mysql_select_db($this->db, $connection) or die('<b style="margin: 10px; color: #ff0000">Невозможно выбрать базу.</b>');;
return $connection;
}
}
$db = new db;
$sql = 'select * from table';
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
echo $row['id'];
}
Спустя 3 минуты, 1 секунда (25.03.2011 - 21:15) alex12060 написал(а):
nugle
У меня лично все окей. Я не знаю что у тебя там...
У тебя точно пхп не 4 версии?
У меня лично все окей. Я не знаю что у тебя там...
У тебя точно пхп не 4 версии?
Спустя 8 минут, 25 секунд (25.03.2011 - 21:24) nugle написал(а):
ага, 3 версия))
плюс за помощь!
мне всё равно главное было чтобы класс работал!
плюс за помощь!
мне всё равно главное было чтобы класс работал!
Спустя 2 минуты, 57 секунд (25.03.2011 - 21:27) alex12060 написал(а):
Цитата |
ага, 3 версия)) |
Сарказм?)
Спустя 1 минута, 29 секунд (25.03.2011 - 21:28) Basili4 написал(а):
T1grOK
Ох не нравится мне эта затея наследовать от класса с инфой о соединении а если треба работать с двумя базами ???
Ох не нравится мне эта затея наследовать от класса с инфой о соединении а если треба работать с двумя базами ???
Спустя 4 минуты, 31 секунда (25.03.2011 - 21:33) T1grOK написал(а):
Дописать метод:
По моему с различными БД не так уж часто приходится работать. Да и вообще все не предусмотреть, а если что надо, всегда можно дописать.
....
public function selectdb($db){
mysql_select_db($db);
}
....
По моему с различными БД не так уж часто приходится работать. Да и вообще все не предусмотреть, а если что надо, всегда можно дописать.
Спустя 9 минут, 33 секунды (25.03.2011 - 21:42) nugle написал(а):
alex12060
да я думаю не у кого 4 не стоит, к тому же у меня денвер!а унего 5 версия
да я думаю не у кого 4 не стоит, к тому же у меня денвер!а унего 5 версия
Спустя 9 минут, 35 секунд (25.03.2011 - 21:52) nugle написал(а):
с другими таблицами работает, спасибо!
Спустя 2 дня, 12 часов, 19 минут, 9 секунд (28.03.2011 - 09:11) linker написал(а):
Ну и я свою лепту внесу
class Config
{
protected $__Config = array();
public function __get($ParamName)
{
return isset($this->__Config[$ParamName]) ? $this->__Config[$ParamName] : null;
}
public function __isset($ParamName)
{
return isset($this->__Config[$ParamName]);
}
public function __construct($Location)
{
$this->__Config = parse_ini_file($Location, true);
}
}
class ConnectDB
{
protected static $__Instance = null;
protected $__Config = null;
protected $__Handler = null;
public static function Get()
{
return self::$__Instance instanceof self ? self::$__Instance : self::$__Instance = new self();
}
protected function __construct()
{
$this->__Config = new Config('./dbconf.ini');
$this->Connect();
}
protected function __clone() {}
public function Connect()
{
$this->__Handler = mysql_connect($this->__Config->dbhost, $this->__Config->dbuser, $this->__Config->dbpassword);
if (isset($this->__Config->dbname))
$this->Db();
}
public function Db()
{
mysql_select_db($this->__Config->dbname, $this->__Handler);
}
public function Query($Sql)
{
return mysql_query($Sql, $this->__Handler);
}
...
}
$Connect = ConnectDB::Get();
...
Спустя 10 часов, 41 минута, 14 секунд (28.03.2011 - 19:52) alex12060 написал(а):
linker
Для некоторых просто, для некоторых - сложно
ЗЫ. Ваш пример не сработает верно, так как название потомка отличается в extends
Для некоторых просто, для некоторых - сложно
ЗЫ. Ваш пример не сработает верно, так как название потомка отличается в extends
Спустя 1 час, 10 минут, 4 секунды (28.03.2011 - 21:02) nugle написал(а):
linker - голова!
Если бы понять что ты написал!
Если бы понять что ты написал!
Спустя 13 часов, 5 минут, 41 секунда (29.03.2011 - 10:08) linker написал(а):
alex12060
Тьфу, копи-пастнул просто, чтоб не писать с нуля, вот и забыл лишнее затереть.
Тьфу, копи-пастнул просто, чтоб не писать с нуля, вот и забыл лишнее затереть.
Спустя 8 дней, 5 часов, 18 минут, 43 секунды (7.04.2011 - 15:27) Doc написал(а):
linker,
Как вы ini файлы закрываете от просмотра в браузере?
Как вы ini файлы закрываете от просмотра в браузере?
Спустя 4 дня, 34 минуты, 13 секунд (11.04.2011 - 16:01) linker написал(а):
Я их не использую.
Спустя 29 дней, 7 часов, 15 минут, 19 секунд (10.05.2011 - 23:16) Th!nk3r написал(а):
Что бы защитить от просмотра ini фалы нужно в файле .htaccess прописать вот эти строки.
<FilesMatch "\.(conf|ini|tpl)$">
Order allow,deny
</FilesMatch>