Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Несовместимость Apach, PHP и MySQL с цифрой 39 (melnikov)
Author Message
melnikov
Заглянувший



Joined: 13 Jun 2004
Posts: 4
Карма: 0
   поощрить/наказать


PostPosted: Mon Jun 14, 2004 12:54 am ()
   Post subject: Несовместимость Apach, PHP и MySQL с цифрой 39
Reply with quote

Здравствуйте, товарищи.

Сталкнулся с очень интересной "несовместимостью". Есть скрипт PHP, он обрабатывает одну единственную таблицу MySQL путем оперирования запросами index.php?catID=2&number=30

В корне есть .htaccess следующего содержания (лишние строки опущены без потери смысла):
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^pics/(.*)/$ index\.php?catID=2&number=$1

Таким образом, по запросу www.meduza.ru/pics/30/ - обрабатывается запрос www.meduza.ru/index.php?catID=2&number=30

В чем собственно проблема? В том, что запросы работаю только в диапазоне с /pics/1/ до /pics/38/ и с /pics/40/ до /pics/бесконечность. Запрос /pics/39/ - выдает ошибку, однако, в виде index.php?catID=2&number=39 всё срабатывает.

В процессе обработки выдаются ошибки:
You have an error in your SQL syntax near 'gif' at line 1
mysql_fetch_array(): supplied argument is not a valid MySQL result resource in z:\home\meduza.ru\www\index.php on line 36

В чем может быть загвоздка? Умоляю, помогите.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon Jun 14, 2004 3:15 am (спустя 2 часа 21 минуту)
   Post subject:
Reply with quote

mod_rewrite тут ни при чем. Чтобы в этом убедиться, вставьте в первую строчку скрипта команды:

phpinfo(); exit;

Отлаживайте скрипт.
Back to top
View user's profile Send private message Send e-mail
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9986
   поощрить/наказать


PostPosted: Mon Jun 14, 2004 7:16 am (спустя 4 часа 29 секунд)
   Post subject:
Reply with quote

melnikov wrote:
 in z:\home\meduza.ru\www\index.php on line 36
Код покажите.
Back to top
View user's profile Send private message
melnikov
Заглянувший



Joined: 13 Jun 2004
Posts: 4
Карма: 0
   поощрить/наказать


PostPosted: Mon Jun 14, 2004 12:38 pm (спустя 5 часов 22 минуты)
   Post subject:
Reply with quote

Вот с таким кодом выводится всё, кроме www.meduza.ru/pics/39/
Code (php): скопировать код в буфер обмена
else if (isset (www.php.net/isset)($catID) && isset (www.php.net/isset)($number) && $catID==2)
        {
        $r=mysql_query (www.php.net/mysql_query)("select * from CONTENT where catID=$catID AND number=$number") ;
        $f=mysql_fetch_array (www.php.net/mysql_fetch_array)($r); #
        echo (www.php.net/echo) "$f[name] - , ,  -    ";
        }
И даже если создать маленький файл
Code (php): скопировать код в буфер обмена
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<?

$server="***";
$user="***";
$pass="***";
$db="***";


if (!mysql_connect (www.php.net/mysql_connect)($server,$user,$pass))
{
echo (www.php.net/echo) $head;
echo (www.php.net/echo) $cp;
echo (www.php.net/echo) $body;
echo (www.php.net/echo) "$ERROR</body></html>";
exit (www.php.net/exit);
}

mysql_select_db (www.php.net/mysql_select_db)($db);
        $r=mysql_query (www.php.net/mysql_query)("select * from CONTENT where catID=$catID AND number=$number");
        $f=mysql_fetch_array (www.php.net/mysql_fetch_array)($r) or die (www.php.net/die)(mysql_error (www.php.net/mysql_error)());
        echo (www.php.net/echo) "$f[pic]<br>$f[thumb]<br>$f[name]<br>$f[text]";

echo (www.php.net/echo) "</tr></table></body></html>";
все равно будут обрабатываться абсолютно все запросы, кроме www.meduza.ru/pics/39/
Однако если ввести www.meduza.ru/pics/39 без последнего слеша, то РНР выводит $f[thumb].
Back to top
View user's profile Send private message
DmitriyPopov
Участник форума



Joined: 10 Mar 2003
Posts: 1491
Карма: 22
   поощрить/наказать


PostPosted: Mon Jun 14, 2004 1:38 pm (спустя 1 час 26 секунд)
   Post subject:
Reply with quote

1) Вот в этой строке: $r=mysql_query("select * from CONTENT where catID=$catID AND number=$number") ; , напишите по другому:
Code (php): скопировать код в буфер обмена
<?php
$qry="select * from CONTENT where catID=$catID AND number=$number";
var_dump (www.php.net/var_dump)($qry);
$r=mysql_query (www.php.net/mysql_query)($qry) or die (www.php.net/die)(mysql_error (www.php.net/mysql_error)()) ;
?>
Back to top
View user's profile Send private message
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9986
   поощрить/наказать


PostPosted: Mon Jun 14, 2004 1:54 pm (спустя 15 минут)
   Post subject:
Reply with quote

melnikov wrote:
абсолютно все запросы, кроме www.meduza.ru/pics/39/
Чё-то Вы в заблуждение нас вводите: я по ссылке зашёл -- всё там нормально работает.
Back to top
View user's profile Send private message
melnikov
Заглянувший



Joined: 13 Jun 2004
Posts: 4
Карма: 0
   поощрить/наказать


PostPosted: Mon Jun 14, 2004 2:01 pm (спустя 7 минут)
   Post subject:
Reply with quote

Вы знаете, очень интересный результат получился. Заработать не заработало, но в ошибке написано:

string(53) "select * from CONTENT where catID=2 AND number=39.gif"
You have an error in your SQL syntax near 'gif' at line 1

Т.е. почему-то вместо 39 он подставляет 39.gif. С другими цифрами по прежнему все в порядке.
Back to top
View user's profile Send private message
melnikov
Заглянувший



Joined: 13 Jun 2004
Posts: 4
Карма: 0
   поощрить/наказать


PostPosted: Mon Jun 14, 2004 2:10 pm (спустя 8 минут)
   Post subject:
Reply with quote

Есть контакт!
Починилось и сейчас объясню почему. Оказывается достаточно было создать папку /pics/39/

Всем большое спасибо.

Вопрос решен, тему можно закрыть.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon Jun 14, 2004 4:13 pm (спустя 2 часа 3 минуты)
   Post subject:
Reply with quote


М

Перенесено из форума: Денвер::Форум для начинающих.
Перенесено в форум: Мусоропровод.
Back to top
View user's profile Send private message Send e-mail
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Mon Jun 14, 2004 4:13 pm (спустя 12 секунд)
   Post subject:
Reply with quote


М

Тема закрыта.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   This topic is locked: you cannot edit posts or make replies. All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML