Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: CMS

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
wawelon
Отправлено: 17 Августа, 2014 - 22:55:49
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Здравствуйте, нашел CMS но она на mysql
Хочу перенести на mysqli вот часть кода


CODE (htmlphp):
скопировать код в буфер обмена
  1. protected $db;
  2.                 //Соединение с базой данных.
  3.                 public function __construct() {
  4.                         $this->db = mysql_connect(HOST,USER,PASSWORD);
  5.                         if(!$this->db) {
  6.                                 exit("Ошибка соединения с базой данных ".mysql_error());
  7.                         }
  8.                         if(!mysql_select_db(DB,$this->db)) {
  9.                                 exit("Нет такой базы данных".mysql_error());
  10.                         }
  11.                         mysql_query("SET NAMES 'UTF-8'");
  12.                 }
  13.                
  14.                 //Вывод всех меню.
  15.                 public function menu_array() {
  16.                         $query = "SELECT * FROM `menu`";
  17.                         $result = mysql_query($query);
  18.                         if(!$result) {
  19.                                 exit("Такой категории не существует".mysql_error());
  20.                         }
  21.                         $row = array();
  22.                         for($i = 0; $i < mysql_num_rows($result); $i++) {
  23.                                 $row[] = mysql_fetch_array($result, MYSQL_ASSOC);
  24.                         }
  25.                                 return $row;
  26.                 }
  27.                 //Вывод страницы меню с информацией.
  28.                 public function get_menu($id) {
  29.                         $query = "SELECT * FROM `menu` WHERE `id_menu`='$id'";
  30.                        
  31.                         $result = mysql_query($query);
  32.                         if(!$result) {
  33.                                 exit(mysql_error());
  34.                         }      
  35.                         $row = mysql_fetch_array($result, MYSQL_ASSOC);
  36.                                 return $row;
  37.                 }


как мне ее переделать?
 
 Top
DelphinPRO
Отправлено: 17 Августа, 2014 - 23:08:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




mysql_* заменить на mysqli_*

Голливудская улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
OrmaJever Модератор
Отправлено: 17 Августа, 2014 - 23:15:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




DelphinPRO, ага, только функцияональщина mysqli обязательно требует дескриптор соединения.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
wawelon
Отправлено: 18 Августа, 2014 - 21:52:57
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




[quote=DelphinPRO][/quote]
сразу ошибок куча в mysql_select_db почему-то выдает ошибку нету такой базы данных но база правельно прописана и в mysql работает
потом mysqli_query так же ошибка и тд я хотел бы если возможно что бы вы перевели по вашему примеру и скинули код сюда а я попробовал и если все б работало зделал выводы для себя
(Добавление)
[quote=OrmaJever][/quote]
Дискриптор? извините я только изучаю php это типа global $mysqli; что-то такое?.
 
 Top
OrmaJever Модератор
Отправлено: 18 Августа, 2014 - 22:16:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




если в mysql у вас было

то в mysqli будет

и так большинство функций


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
wawelon
Отправлено: 23 Августа, 2014 - 21:10:18
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




[quote=OrmaJever][/quote]

Здравствуйте взял так

PHP:
скопировать код в буфер обмена
  1. public function __construct() {
  2.                         @$mysqli = new mysqli( HOST, USER, PASSWORD, DB );
  3.                         @$mysqli->set_charset( 'utf8');
  4.                         if ($mysqli->connect_error) {
  5.                                 die('
  6.                                 <div style="color:red; border:1px solid red; text-align:center; font-size:20px; width:100%; height:100%;">
  7.                                 <p>Ошибка соединения: '.date("H:i:s").'</p>
  8.                                 <p>Обратитесь к Администрации сайта для устранения ошибки</p>
  9.                                 </div>
  10.                                 ');
  11.                         }
  12.                         if ( !$mysqli->set_charset( 'utf8' )) {
  13.                                 echo'<div style="color:red; border:1px solid red; text-align:center; font-size:20px; width:100%; height:100%;">
  14.                                 Ошибка при загрузке набора символов utf8';
  15.                         }
  16.                 }      
  17.                
  18.                 //Вывод всех меню.
  19.                 public function menu_array() {
  20.                         $query = "SELECT * FROM `menu`";
  21.                         $result = $mysqli->query($query);
  22.                         if(!$result) {
  23.                                 exit("Такой категории не существует".mysqli_connect_error());
  24.                         }
  25.                         $row = array();
  26.                         for($i = 0; $i < mysqli_num_rows($result); $i++) {
  27.                                 $row[] = mysqli_fetch_array($result, MYSQLI_ASSOC);
  28.                         }
  29.                                 return $row;
  30.                 }


но выдает ошибку Call to a member function query() on a non-object

почему все ж вроде правельно

(Отредактировано автором: 23 Августа, 2014 - 21:16:40)

 
 Top
avtor.fox
Отправлено: 23 Августа, 2014 - 21:23:47
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




wawelon пишет:
но выдает ошибку Call to a member function query() on a non-object

ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы

откуда пых узнает, что $mysqli на самом деле является объектом?



и убери нахрен эти собачки
 
 Top
wawelon
Отправлено: 23 Августа, 2014 - 21:46:39
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




[quote=avtor.fox][/quote]
куда ваше $this->mysqli = ....; вписывать непойму нечего.
 
 Top
caballero
Отправлено: 24 Августа, 2014 - 00:04:15
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




а чем великий смысл переносить на mysqli ?
особенно если учесть некомпетентность переносчика


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
wawelon
Отправлено: 24 Августа, 2014 - 01:31:50
Post Id


Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




[quote=caballero][/quote]
я только изучаю php....
 
 Top
Ts.Saltan
Отправлено: 24 Августа, 2014 - 09:35:17
Post Id



Посетитель


Покинул форум
Сообщений всего: 384
Дата рег-ции: Дек. 2013  
Откуда: Belarus


Помог: 22 раз(а)




wawelon пишет:

я только изучаю php....

Тогда продолжайте изучать. Вот когда освоите простенькие приложения и когда придёт время позаботиться об их безопасности, тогда вернётесь к mysqli.
Нужно именно понять, в чём преимущество mysqli, подготовки запросов, а не бессмысленно кодить именно так, потому что другие так делают.

(Отредактировано автором: 24 Августа, 2014 - 09:35:55)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB