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 :: Error, помогите поправить. [2]

 PHP.SU

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


 Страниц (4): « 1 [2] 3 4 »   

> Без описания
event
Отправлено: 28 Декабря, 2011 - 21:03:15
Post Id


Частый посетитель


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


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




DeepVarvar

Да заменил, Ошибка пропала, но No database selected
 
 Top
lamozavrik
Отправлено: 28 Декабря, 2011 - 21:14:30
Post Id



Частый гость


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


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




попробуйте так:

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. function TableExists($tablename, $db) {
  4.    
  5.                 $result = mysql_query("SHOW TABLES FROM ".$db."");
  6.                 $rcount = mysql_num_rows($result);
  7.  
  8.                 for ($i=0;$i<$rcount;$i++) {
  9.                         $rows = mysql_fetch_row($result);
  10.                         if ($rows[$i]==$tablename) {
  11.                                 return true;
  12.                         }
  13.                 }
  14.                 return false;
  15.         }
  16.  
  17.  
  18.  


-----
Ударим крепким сном по мукам совести!
 
 Top
Panoptik
Отправлено: 28 Декабря, 2011 - 21:17:11
Post Id



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


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




есть только один момент который я упустил. В данном случае $db - это указатель на соединение, а не имя базы данных, как может показаться сперва. поэтому скрипт нужно переделывать более внимательно учитывая этот момент


-----
Just do it
 
 Top
event
Отправлено: 28 Декабря, 2011 - 21:18:10
Post Id


Частый посетитель


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


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




lamozavrik
Parse error: syntax error, unexpected '}' in /var/www/html/bans/admin/setup.p hp on line 1024
 
 Top
Panoptik
Отправлено: 28 Декабря, 2011 - 21:23:20
Post Id



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


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




как показывает моя худая практика использовать несколько ретурнов не есть хорошо и приводит к непредсказуемым последствиям. это первое что я изменю и 2-е, если в скрипте таки используется одна база данных, а не несколько, как я предполагал изначально, то нужно делать просто запрос show tables предварительно выше в коде сделать выбор БД с помощью mysql_select_db
PHP:
скопировать код в буфер обмена
  1. function TableExists($tablename, $db) {
  2.    
  3.                 $result = mysql_query("SHOW TABLES");
  4.                 $rcount = mysql_num_rows($result);
  5.  
  6.                 $return = false;
  7.                 for ($i=0;$i<$rcount;$i++) {
  8.                         $rows = mysql_fetch_row($result);
  9.                         if ($rows[$i]==$tablename) {
  10.                                 $return =  true;
  11.                                 break;
  12.                         }
  13.                 }
  14.                 return $return;
  15.  
  16.         }


-----
Just do it
 
 Top
lamozavrik
Отправлено: 28 Декабря, 2011 - 21:26:38
Post Id



Частый гость


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


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




Panoptik пишет:
предварительно выше в коде сделать выбор БД с помощью mysql_select_db

Я думаю, что она должна была бы там уже быть выбрана, но если всё же нет, тогда да, надо прописать выбор БД.


-----
Ударим крепким сном по мукам совести!
 
 Top
event
Отправлено: 28 Декабря, 2011 - 21:27:31
Post Id


Частый посетитель


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


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




Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /var/www/html/bans/admin/setup.p hp on line 115 No database selected
 
 Top
lamozavrik
Отправлено: 28 Декабря, 2011 - 21:28:28
Post Id



Частый гость


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


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




event пишет:
lamozavrik
Parse error: syntax error, unexpected '}' in /var/www/html/bans/admin/setup.p hp on line 1024

Просто Вы скорее всего где то либо скобку упустили, либо еще сто то, так, как у меня этот вариант только что работал, и я его рабочую копию выложил сюда.
(Добавление)
event пишет:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /var/www/html/bans/admin/setup.p hp on line 115 No database selected

У Вас не выбрана база данных!


-----
Ударим крепким сном по мукам совести!
 
 Top
event
Отправлено: 28 Декабря, 2011 - 21:31:21
Post Id


Частый посетитель


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


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




Если вертаю назад как-было то все гуд, база выбирается.
 
 Top
lamozavrik
Отправлено: 28 Декабря, 2011 - 21:34:20
Post Id



Частый гость


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


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




Я в скрипте посмотрел, что $db это всё таки имя базы
пробуйте так
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. function TableExists($tablename, $db) {
  4.    
  5.                 $result = mysql_query("SHOW TABLES FROM ".$db."");
  6.                 $rcount = mysql_num_rows($result);
  7.  
  8.                 $return = false;
  9.                 for ($i=0;$i<$rcount;$i++) {
  10.                         $rows = mysql_fetch_row($result);
  11.                         if ($rows[$i]==$tablename) {
  12.                                 $return =  true;
  13.                                 break;
  14.                         }
  15.                 }
  16.                 return $return;
  17.  
  18.         }
  19.  
  20.  

(Добавление)
Поправка, в строке
$i надо заменить на 0
Тоесть так


-----
Ударим крепким сном по мукам совести!
 
 Top
event
Отправлено: 28 Декабря, 2011 - 21:39:04
Post Id


Частый посетитель


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


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




Млин, и далее No database selected
 
 Top
Panoptik
Отправлено: 28 Декабря, 2011 - 21:41:28
Post Id



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


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




с этой строкой?
Цитата:
SHOW TABLES FROM ".$db."
No database selected!?


-----
Just do it
 
 Top
event
Отправлено: 28 Декабря, 2011 - 21:43:42
Post Id


Частый посетитель


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


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




ага
 
 Top
lamozavrik
Отправлено: 28 Декабря, 2011 - 21:44:00
Post Id



Частый гость


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


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




Попробуйте в троке
PHP:
скопировать код в буфер обмена
  1.  
  2. function TableExists($tablename, $db) {
  3.  

$db заменить на имя Вашей базы
PHP:
скопировать код в буфер обмена
  1.  
  2. function TableExists($tablename, 'имя_базы') {
  3.  

(Добавление)
Вернее там где вызывается функция, туда вставьте в ручную имя базы
(Добавление)
В скрипте это строки:
112, 125, 133, 141, 149, 157, 195, 203, 221, 229


-----
Ударим крепким сном по мукам совести!
 
 Top
event
Отправлено: 28 Декабря, 2011 - 21:48:12
Post Id


Частый посетитель


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


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




Че за хрень, поставил назву своей базы, далее та же песня.
(Добавление)
Ой сек, я только в функции сделал, щас сделаю в других строках.
 
 Top
Страниц (4): « 1 [2] 3 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB