Вниз  PHP
- 24.07.2012 / 16:59
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
а, точно. Не увидел просто
- 24.07.2012 / 18:49
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
Koenig, ты дай например свои маленький скрипт который написал процедурно, я попробую написать ориентированно для примера, или придумай скриптприкрепил файл. Написал я еще когда только начинал, следуя и код плохой, но это роли не играет.

Изменено Dinisimys1 (24.07 / 18:53) (всего 2 раза)


Прикрепленные файлы:
reg.php (2.61 кб.) Скачано 226 раз
- 24.07.2012 / 19:56
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
Dinisimys1, чуть позже напишу
__________________
 Магистр Мёда
- 24.07.2012 / 20:02
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
Koenig, ок, Жду. Это хоть подходящий пример, чтобы можно было показать приемущество ооп?
- 24.07.2012 / 20:07
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
Dinisimys1, на счет преимущества сам решишь, как пример будет думаю полезен
__________________
 Магистр Мёда
- 24.07.2012 / 20:20
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
  1. class Mysql
  2. {
  3. public $query;
  4. function __construct()
  5. {
  6. $db=mysql_connect("openserver","root","");
  7. mysql_select_db("ukrnet");
  8. $arr=explode(',',$this->query);
  9. $this->query=mysql_query("SELECT*FROM `$arr[0]` WHERE `$arr[1]` = '$arr[2]'");
  10. }
  11. function MysqlNum ()
  12. {
  13. if (mysql_num_rows($this->query) == 0) return false;
  14. else return true;
  15. }
  16. }
  17. $obj=new Mysql("user,login,Denis");
  18. echo $obj->MysqlNum();
Начал кодить на ооп, и хочу создать класс для работы с бд для начала. Но Этот скрипт не пашет.
Notice: Undefined offset: 1 in W:\html\test\www\class.php on line 10

Notice: Undefined offset: 2 in W:\html\test\www\class.php on line 10

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in W:\html\test\www\class.php on line 22
ПРоще говоря массива нет.
- 24.07.2012 / 21:34
Screamer
  Пользователь

Screamer 
Сейчас: Offline
Dinisimys1,
ПРоще говоря массива нет.откуда ему взяться? Ты его и не создавал даже.
Теперь одно очень важное замечание, mysql из пхп скоро выпилят так что используй либо mysqli либо PDO
Далее у тебя в конструкторе есть кое что лишнее. Предлагаю оставить там только то что касается создания соединения.
Функция MysqlNum тоже неясно зачем там нужна, но если будешь использовать подобное часто то предлагаю переименовать ее в boolNumRows
Вобщем вот накатал кое что. Смотри сам.
  1. class MySQL {
  2.  
  3.     protected $link;
  4.  
  5.     public function __construct($host, $user, $pass, $db, $charset)
  6.     {
  7.  
  8.         $this->link = mysql_connect($host, $user, $pass);
  9.         mysql_select_db($db);
  10.         $this->query("SET NAMES " . $charset);
  11.  
  12.     }
  13.  
  14.     public function query($statement = '')
  15.     {
  16.  
  17.         return mysql_query($statement, $this->link);
  18.  
  19.     }
  20.  
  21.     public function boolNumRows($query)
  22.     {
  23.  
  24.         return (mysql_num_rows($query) == 0) ? FALSE : TRUE;
  25.  
  26.     }
  27.  
  28. }
  29.  
  30. $mysql = new MySQL("openserver", "root", "", "ukrnet", "utf8");
  31. $arr = array("tablename", "key", "value");
  32. $query = $mysql->query("SELECT*FROM `$arr[0]` WHERE `$arr[1]` = '$arr[2]'");
  33. var_dump($mysql->boolNumRows($query));

__________________
 საქარტველოს გაუმარჯოს

Изменено Screamer (24.07 / 21:36) (всего 2 раза)
- 25.07.2012 / 00:33
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
чистый мускули предпочитаю, зачем изобретать уже изобретенное :velo:
__________________
 Магистр Мёда
- 25.07.2012 / 11:29
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
Koenig, каждый раз писать одни и те же запросы надоедает, и со своими функциями намного быстрей. Только теперь я хочу это все в класс запихнуть.
Теперь одно очень важное замечание, mysql из пхп скоро выпилят так что используй либо mysqli либо PDOкак ? зачем? когда? :-(
- 25.07.2012 / 11:42
Koenig
  Модератор форума

Koenig 
Сейчас: Offline
Dinisimys1, напиши функцию которая будет тебе собирать нужный запрос и все
__________________
 Магистр Мёда
Наверх  Всего сообщений: 1350
Фильтровать сообщения
Поиск по теме
Файлы топика (36)