Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Открыть новую тему     Написать ответ в эту тему

TTwice

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Переделать нет возможности... Ладно спасиб большое. Пойду мучатся. Возник в голове вариант с промежуточной таблицей
 

Всего записей: 111 | Зарегистр. 25-08-2004 | Отправлено: 01:35 23-09-2005
SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
SELECT t1.id AS id,t2.name AS parrent_name, t1.link AS link, t1.name AS name
FROM test t1 LEFT JOIN test t2 ON t1.pid = t2.id

Всего записей: 2300 | Зарегистр. 14-05-2004 | Отправлено: 07:30 23-09-2005
Morgul

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
что-бы не создавать новую тему напишу здесь.
 
Устанвил скрипт WebDate у себя на сервере. При вводе где-нибудь с использованием знака ' выдает ошибку "You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near"
 
Например при регистрации пользователя пишу имя ni'c'k а он выдает такое
 
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'c'k', gender = 'Male', age = '6', country = '  
 
Я уже раньше слышал об этом баге, как благодаря нему взламывались скрипты через. Как это исправить?
 
Причем на компе все нормально хоть сто таких ' добавляй, а установив на своем сервере в инете вот такое.

Всего записей: 33 | Зарегистр. 28-08-2005 | Отправлено: 02:27 14-11-2005 | Исправлено: Morgul, 02:28 14-11-2005
Advanced_Guest



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вообще - не советую использовать этот скрипт.
 
Ибо 99.9999% что в нём есть другие баги.
 
Если же ты хочешь быстрого решения (но сразу скажу -  неправильного)
 
то включи magiq_quotes через настройки php

----------
The Abyss - UO, LA2, Ботва, BSFG

Всего записей: 2446 | Зарегистр. 14-04-2002 | Отправлено: 02:45 14-11-2005
edogs

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Advanced_Guest

Цитата:
Если же ты хочешь быстрого решения (но сразу скажу -  неправильного)  
 
то включи magiq_quotes через настройки php

Оно не столько неправильное, сколько неопределённой надежности.

Всего записей: 1775 | Зарегистр. 25-07-2004 | Отправлено: 03:01 14-11-2005
Morgul

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, помогло
 
Есть еще одна проблема....
 
Из 219 данных в таблице показываются только 135.  А в скрипте из 219 профилей пользователей показывается так-же 135 хоть и написано что всего 219. В чем может быть дело?

Всего записей: 33 | Зарегистр. 28-08-2005 | Отправлено: 19:31 21-11-2005
SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В чем может быть дело?
PHP FAQ: Ничего не работает! Что делать???

Всего записей: 2300 | Зарегистр. 14-05-2004 | Отправлено: 20:19 21-11-2005
FreeStyler

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Как создать таблицу MySQL, в каждой строке которой переменное число элементов? Например 10 жестко заданных столбцов, а кол-во остальных может изменяться от 0 до 100 (все типа INT). может, как-то занести в ячейку массив можно?

Всего записей: 69 | Зарегистр. 07-10-2003 | Отправлено: 22:26 27-03-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FreeStyler

Цитата:
как-то занести в ячейку массив можно?

можно.. читайте про serialize
вот только искать по этому уже будет сложно

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:31 27-03-2008
FreeStyler

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
serialize - это PHP? В MySQL ничего стандартного для этого нет? Я на Perl'e пишу

Всего записей: 69 | Зарегистр. 07-10-2003 | Отправлено: 23:04 27-03-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FreeStyler

Цитата:
В MySQL ничего стандартного для этого нет?

нету.

Цитата:
Я на Perl'e пишу

тогда чего задаете вопросы в этой теме?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:09 27-03-2008
DarkSmoke



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Пишу движок для сайта поиска работы.
Когда создавал БД, читал умную книгу, и в ней было написано, что index используется для быстрого поиска в БД. Создал по этому принципу таблицу:

Код:
 
CREATE TABLE `vacancyadd` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`razdel` VARCHAR( 2 ) NOT NULL ,
`spec` VARCHAR( 50 ) ,
`obraz` VARCHAR( 1 ) NOT NULL ,
`sex` VARCHAR( 1 ) NOT NULL ,
`goroda` VARCHAR( 2 ) NOT NULL ,
`grafik` VARCHAR( 20 ) NOT NULL ,
`zarplata` VARCHAR( 5 ) NOT NULL ,
`info` TEXT,
`lico` VARCHAR( 50 ) ,
`tel` VARCHAR( 50 ) ,
`email` VARCHAR( 50 ) ,
`srok` VARCHAR( 1 ) NOT NULL ,
`date` DATE NOT NULL ,
PRIMARY KEY ( `id` ) ,
INDEX ( `razdel` , `spec` , `goroda` , `grafik` )  
);
 

 
Вопрос: я правильно все понял и реализовал это?
Спасибо

Всего записей: 957 | Зарегистр. 08-10-2005 | Отправлено: 13:03 30-03-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DarkSmoke

Цитата:
Вопрос: я правильно все понял и реализовал это?  

ЭТО - что?  


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:52 30-03-2008
DarkSmoke



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
это я вывел таблицу.
Таблица предназначена для занесения информации о вакансиях.

Всего записей: 957 | Зарегистр. 08-10-2005 | Отправлено: 00:13 31-03-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DarkSmoke

Цитата:
это я вывел таблицу.

я знаю, что это..  
ну создал, и? если mysql не ругнулся, то все в порядке.. а примеров подобных просто до кучи и на самом сайте mysql
http://dev.mysql.com/doc/refman/5.0/en/multiple-column-indexes.html

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:21 31-03-2008 | Исправлено: Cheery, 00:22 31-03-2008
DarkSmoke



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
я к тому что:  
я планирую делать поиск по
Цитата:
`razdel` , `spec` , `goroda` , `grafik`

и я им поставил значение index
Это правильно?

Всего записей: 957 | Зарегистр. 08-10-2005 | Отправлено: 01:25 31-03-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DarkSmoke

Цитата:
Это правильно?  

ну дал же ссылки.. либо так, либо без `

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:27 31-03-2008
andead



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вместо VARCHAR( 1 ) и VARCHAR( 2 ) (да и вообще вместо полей где будут хранится только цифры) лучше использовать  TINYINT( 1 ), TINYINT( 2 ) и INT ( какой_то_размер ) соответственно
+ у всех полей прописать NOT NULL

Всего записей: 1821 | Зарегистр. 22-09-2005 | Отправлено: 01:42 31-03-2008
myxa0

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите с SQL.
 
Нужно найти значения поля ID из одной таблици, которых нет в другой в поле ID.
 
 

Код:
 
CREATE TABLE `test` (  
  `id` int(11) NOT NULL auto_increment,  
  `name` varchar(255) NOT NULL,  
  PRIMARY KEY  (`id`),  
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=8 ;  
 
--  
-- Dumping data for table `test`  
--  
 
INSERT INTO `test` VALUES (1, 'Вася');  
INSERT INTO `test` VALUES (2, 'Петя');  
INSERT INTO `test` VALUES (5, 'Гидерон');  
INSERT INTO `test` VALUES (1, 'Петя');  
INSERT INTO `test` VALUES (3, 'Сидор');  
INSERT INTO `test` VALUES (4, 'Ашот');  
 
CREATE TABLE `test1` (  
  `id` int(11) NOT NULL auto_increment,  
  `name1` varchar(255) NOT NULL,  
  PRIMARY KEY  (`id`),  
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=8 ;  
 
--  
-- Dumping data for table `test1`  
--  
 
INSERT INTO `test1` VALUES (1, 'Иванов');  
INSERT INTO `test1` VALUES (2, 'Петров');  
INSERT INTO `test1` VALUES (3, 'Сидоров');  
 

 
То есть из выше приведенного дампа надо найти значения таблицы Test:
5, 'Гидерон'
4, 'Ашот'

Всего записей: 76 | Зарегистр. 02-01-2005 | Отправлено: 10:41 01-04-2008
Brodyaga



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Я же уже показывал пример с вложеннным запросом.
SELECT * FROM `test` WHERE (SELECT COUNT(*) FROM `test1` WHERE `test1`.`id`=`test`.`id`)=0

----------
Damn Metal

Всего записей: 2713 | Зарегистр. 07-01-2006 | Отправлено: 16:14 01-04-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/PHP: общие вопросы

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2018

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru