Проблема MySQL и PHP

Статус
В этой теме нельзя размещать новые ответы.
- это не ошибка, а предупреждение))
О том, что нет результата поиска по базе. Если у вас, все работало на денвере, то вопрос, на какой версии? По ходу, переменная не определена.

Скорее всего, вам надо сделать эмуляцию register_globals.
Можно поступить так, чтобы не переписывать скрипты:
PHP:
for ($i=0; $i<count($_POST); $i++) {list($key,$val)=each($_POST);$$key=$val;};
for ($i=0; $i<count($_GET); $i++) {list($key,$val)=each($_GET);$$key=$val;};
этот код вставь в начале скрипта, или в конфигурационный файл.
Результат выполнения этого кода - все переменные, взятые из массивов GET и POST будут преобразованы.

Так получается если это предупреждение, то работа скрипта от этого не должна пострадать? Скрипт-то должен выполняться? А этого не происходит.
 
А кто вам сказал, что скрипт не выполняется?
Просто выдается предупреждение, которое можно убрать, если прописать в начале скрипта
PHP:
 Error_Reporting(E_ALL & ~E_NOTICE);
У вас, проблема в другом.
Как вы знаете, переменные из одного скрипта в другой передаются методами GET, POST или сессией.
если существует адрес index.php?dupa=1 то в скрипт передается значение $_GET['dupa']=1;
применительно к вашему варианту,
PHP:
$usersql = "SELECT * FROM ".TAB_USERS." where id=".$xid);
$rescuser = MYSQL_QUERY($usersql);
$us = mysql_fetch_array($rescuser);
У вас, переменная $xid поступает или из формы, или из адреса, но при register_globals off , она должна иметь вид
$_GET['xid'] $_POST['xid'], а у вас , эта прееменная поступает в скрипт как $xid и уже там, определяется как глобальная. Но при register_globals off переменная в скрипт не передается, и естественно ваш запрос принимает вид
PHP:
$usersql = "SELECT * FROM ".TAB_USERS." where id=);
Если условие выборки из базы не определено, то естественно в результирующем массиве будет пусто, и скрипт пройдет через парсер и выдаст вам либо пустую страницу, либо нотиксы.
Вот для того, чтобы эмулировать работу register_globals, я вам и написал несколько строк, которые вы должны разместить в самом верху скрипта.
 
Так получается если это предупреждение, то работа скрипта от этого не должна пострадать? Скрипт-то должен выполняться? А этого не происходит.

В самом начале скрипта пропиши

PHP:
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(E_ALL);

должны появится ошибки, если не появятся, значит скрипт работает, но неправильно.
 
В самом начале скрипта пропиши

PHP:
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(E_ALL);

должны появится ошибки, если не появятся, значит скрипт работает, но неправильно.

Да, появилась куча новых ошибок. А что же делать дальше? Если прописать код

PHP:
for ($i=0; $i<count($_POST); $i++) {list($key,$val)=each($_POST);$$key=$val;}; 
for ($i=0; $i<count($_GET); $i++) {list($key,$val)=each($_GET);$$key=$val;};

то ничего не помогает.

PHP:
Error_Reporting(E_ALL & ~E_NOTICE);

И это тоже не помогает.
Что же делать?
 
Да, появилась куча новых ошибок. А что же делать дальше? Если прописать код

Дальше эти ошибки нужно править. Показывай ошибки, показывай кусок строки с этой ошибки и т.д.
 
у тебя ошибка в самом запросе.
посмотри мой предыдущий пост
 
Дальше эти ошибки нужно править. Показывай ошибки, показывай кусок строки с этой ошибки и т.д.

Ошибок получается большое количество :D
Вообще по идее этот скрипт должен работать без проблем (скрипт SmartTop 6.01). Может кто смотрел данный скрипт?
На Денвере всё работает.
 
Ну выкладывай ошибки, хотяб первые части. Телепаты в отпуске.
 
Ну выкладывай ошибки, хотяб первые части. Телепаты в отпуске.

Я убрал все ошибки таким путем:
- было:
PHP:
$usersql = "SELECT * FROM ".TAB_USERS." where id=".$xid); 
$rescuser = MYSQL_QUERY($usersql); 
$us = mysql_fetch_array($rescuser);

- теперь:
PHP:
$usersql = "SELECT * FROM ".TAB_USERS." where id=".$xid); 
$rescuser = MYSQL_QUERY($usersql); 
$us = @mysql_fetch_array($rescuser);

Убрал простым добавлением @

Только вот теперь ошибок нет, но и работы скрипта вообще никакой!!!
Что же делать???
 
Скачал и установил с ветки нуледа данный скрипт
Денвер 3.
В файле weboffice.php вставил
PHP:
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(E_ALL);
и поперли предупреждения.
Я не знаю, как у автора топика мог работать данный скрипт на Денвере? Лично у меня, он не пошол, пришлось с полчаса ковырять его, чтобы все заработало на локале.
Я не любитель комментировать чужие работы, но я бы не стал пользоваться данным скриптом однозначно. Единственное, что вырвать части кода, для того, чтобы снимать статсы с доров или сайтов на фрихостах.
На сервере проверять однозначно не буду, если автору топика нужно, могу скинуть скрипт на мыло. Адрес мыла в приват.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху