HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #631  
Старый 21.05.2009, 17:49
pento
Участник форума
Регистрация: 03.07.2006
Сообщений: 147
Провел на форуме:
438137

Репутация: 66
По умолчанию

Цитата:
Сообщение от Architek86  
Народ, здесь "SELECT * FROM `users` WHERE `nick`='$login'" (да и везде, где есть WHERE)
nick и $login сравниваются с учётом регистра, или нет?? Если да, то как сделать без учёт регистра?
Сравниваются с учётом.
Для мускуля заюзать lower
 
Ответить с цитированием

  #632  
Старый 21.05.2009, 17:58
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

Репутация: 526
По умолчанию

Цитата:
Сообщение от pento  
Сравниваются с учётом.[/URL]
Зависит от коллации
upd:
Набросал небольшой примерчик.
Создадим простую табличку:

Код:
CREATE TABLE IF NOT EXISTS `t2` (
  `q` varchar(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Закинм туда 2 кортежа:
Код:
aaa
Aaa
Сопаставление у нас utf8_general_ci (где ci значит case-insensetive, для тех кто не знает).

Выполним запрос:
Код:
select * FROM t2 where q = 'aaa'
получим
Код:
aaa
Aaa
А теперь выполним следующее:
Код:
select * FROM t2 where q = 'aaa' collate 'utf8_bin'
получим
Код:
aaa
Выводы напрашиваются сами =)

Последний раз редактировалось VDShark; 21.05.2009 в 18:18..
 
Ответить с цитированием

  #633  
Старый 21.05.2009, 18:20
OnArs
Участник форума
Регистрация: 01.08.2008
Сообщений: 239
Провел на форуме:
448388

Репутация: 31
Smile

Мужики, Всем привет!

Возникла такая проблема...


Есть вот такой код:

PHP код:
$user $_COOKIE['user'];
$key_id  $_POST['key_id'];
        
$result mysql_query("UPDATE base SET poster_id='$user', key_id='$key_id', post_date=NOW(), done='wait' WHERE page='$page' LIMIT 1",$db); 
Проблема в том, что:
Код срабатывает всегда, но лишь частично, не смотря на то, что в $key_id всегда есть трёхзначное число и оно точно передаётся (не теряется) в результате пост запроса.

Что значит частично:
Т.е. иногда запись обновляется так как будто $key_id пуст.

Примечание:
Поле key_id в таблице base типа INT(5)


Подскажите пожалуйста, в чём может быть проблема?
 
Ответить с цитированием

  #634  
Старый 21.05.2009, 19:40
Ponchik
Постоянный
Регистрация: 30.08.2005
Сообщений: 730
Провел на форуме:
6828219

Репутация: 2274


По умолчанию

Эмм... Это реальный кусок кода? У тебяж тама SQL Inj =\
Юзай
$key_id = intval($_POST['key_id']);
И если $_POST['key_id'] будет буквами, то запишется 0 а не просто пустая строка
 
Ответить с цитированием

  #635  
Старый 21.05.2009, 19:58
OnArs
Участник форума
Регистрация: 01.08.2008
Сообщений: 239
Провел на форуме:
448388

Репутация: 31
По умолчанию

Пончик, большое тебе спасибо. Попробую сменить и посмотрим что будет.


Так же спасибо за заботу, но это приватный скрипт, так что бояться нечего

P.s. Ещё какие-нибудь предположения по поводу вышеизложенной проблемы будут?


Заранее благодарен!

Последний раз редактировалось OnArs; 21.05.2009 в 20:03..
 
Ответить с цитированием

  #636  
Старый 21.05.2009, 23:53
OnArs
Участник форума
Регистрация: 01.08.2008
Сообщений: 239
Провел на форуме:
448388

Репутация: 31
По умолчанию

Появился ещё один вопрос, помогите с ним пожалуйста!



Есть вот такой кусок кода:
PHP код:
$result mysql_query("SELECT count(*) FROM base WHERE pr='7'",$db);
$se mysql_fetch_array($result);
$pr7 $se[0];
            
$result mysql_query("SELECT count(*) FROM base WHERE pr='6'",$db);
$se mysql_fetch_array($result);
$pr6 $se[0];
            
$result mysql_query("SELECT count(*) FROM base WHERE pr='5'",$db);
$se mysql_fetch_array($result);
$pr5 $se[0];
    
$result mysql_query("SELECT count(*) FROM base WHERE pr='4'",$db);
$se mysql_fetch_array($result);
$pr4 $se[0];
            
$result mysql_query("SELECT count(*) FROM base WHERE pr='3'",$db);
$se mysql_fetch_array($result);
$pr3 $se[0];
            
$result mysql_query("SELECT count(*) FROM base WHERE pr='2'",$db);
$se mysql_fetch_array($result);
$pr2 $se[0]; 
Т.е. в 6 переменных Я получаю кол-во страниц с заданными параметрами. По-моему так не должно быть, как оптимизировать эту группу запросов?


Большое спасибо!
 
Ответить с цитированием

  #637  
Старый 22.05.2009, 14:36
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Так не годиццо?
PHP код:
$result mysql_query ("SELECT * FROM base WHERE pr = '2'"$db); 
$pr2 mysql_num_rows ($result); 
---
Added:
Либо же одним SQL-запросом
Код:
SELECT pr, COUNT(*) FROM base WHERE pr IN (7, 6, 5, 4, 3, 2) GROUP BY pr;

Последний раз редактировалось krypt3r; 22.05.2009 в 14:48..
 
Ответить с цитированием

  #638  
Старый 24.05.2009, 23:35
Byrger
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме:
791766

Репутация: 61
По умолчанию

Не могу перенести БД MySQL форума Version 3.8.1
Проблема в том что форум создавался в Литвии и сама Бд создана в кодировке UTF-8 юникод
Сравнение таблиц latin1_swedish_ci
Если сделать дамп любой прогой или PhpMyAdmin`ом то будет такая бяка
Цитата:
ñåâðåð çàïóùåí â òåñòîâîì ðåæèìå
Даже если просто в PhpMyAdmin смотеть на это...
Как сменить кодировку чтоб норм по русски было?

Хотя нормально сейчас форум стоит, а вот переносится не хочет
 
Ответить с цитированием

  #639  
Старый 25.05.2009, 01:50
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

http://www.artlebedev.ru/tools/decoder/

CP1252 → CP1251

выстави в браузере правильную кодировку и не парь мозг

ЗЫЖ Нормальный дамп, бывают и хуже

ЗЗЫЫЖЖ Ушол писать прогу для автоконвертации дампов в нужную кодировку, заманали
 
Ответить с цитированием

  #640  
Старый 25.05.2009, 17:52
Byrger
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме:
791766

Репутация: 61
По умолчанию

Цитата:
Сообщение от Pashkela  
http://www.artlebedev.ru/tools/decoder/

CP1252 → CP1251

выстави в браузере правильную кодировку и не парь мозг

ЗЫЖ Нормальный дамп, бывают и хуже

ЗЗЫЫЖЖ Ушол писать прогу для автоконвертации дампов в нужную кодировку, заманали
Ладно я могу перевести в другую кодировку но я не могу перевести целый дамп базы....
как быть?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сетевой этикет (Перед тем, как задать вопрос хакеру) satana-fu Статьи 7 21.10.2009 07:40
Ответы на часто задаваемые вопросы + линки на статьи по SQL/XSS/PHP-инклуд Jokester Уязвимости 2 28.06.2009 00:19
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ