В SQL нет порядка записей, а как там хранят записи подсистемы MyISAM и InnoDB - не отражается на работе с базой.
phpdreamer как ваши посты и "знание" внутреннего устройства реляционных СУБД помогает ответить на вопрос "подскажите запрос, который бы позволил получить номер строки по ее первичному ключу?" Кстати говоря, вы считаете ожидаемым поведение субд, если бы она всегда возвращала бы записи в случайном порядке? НTL для одной записи попробуйте так: Code: SELECT count(*) FROM `tabl` WHERE `prim_key`< 100000 Вроде бы использует индексы и достаточно быстрый запрос, правда, не уверен. Вы лучше сформулируйте что хотите получить и зачем вам это нужно?
Спс, но я уже решил проблему следующим способом: Code: SELECT COUNT(*) FROM `Users` WHERE `Rate` >= (SELECT Rate FROM `Users` WHERE `Uid`='".$UserID."') 2Gifts, это нужно для ТОП'а, точнее для "Вы занимаете X место"
Ребята помогите пожалуйста, на запрос http://****/site/page.php?news=-99%20select%20count Выдает: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /opt/web/lib/site/page.php on line 145 Помогите подобрать sql инъекцию, особо не шарю так что критику воспринимаю как урок
2cool_haCker, в коде: PHP: $news=preg_replace('~[^0-9]*~','',$_GET["news"]); Эта строка удаляет все символы кроме цифр Раньше находил утилиту для снятия/заливки дампа в MySQL, которая мне очень понравилась, только вот когда она действительно понадобилась я ее потерял.. Подскажите какие утилиты есть? (Только на PHP, база весит 100мб)
Итак, Ачатовцы, вопрос в следующем. В базе есть строка содержащая массив из символов, например: "Q, W, E, R, T, Y". Пользователь передает через Веб интерфейс какое-либо значемние переменной. Надо проверить содержится ли переданное пользователем значение переменной в строке базы (массиве). Как это можно осуществить? PS: Пораскинув извилиной нашел решение сам. Хоть оно, я так думаю, не самое рациональное, но, су*а, я пришел к нему сам, а это радует.
Нужно создать хранимую процедуру которая будет увеличивать зарплату на % есть таблица № сотрудника|зарплата. 1 |25000 Входные параметры: № сотрудника, процент.
trunker может быть уточните хотя бы тип СУБД? И вы не пробовали учиться, ведь ради знаний вам дают домашние задания. Для mysql будет как-то так: Code: CREATE FUNCTION `len_delat_domashku`(`worker_num` int,`percent` real) RETURNS real READS SQL DATA BEGIN DECLARE out_variable REAL DEFAULT 0; SELECT `zarplata`*`percent`/100 INTO `out_variable` FROM `workers` WHERE `id`=`worker_num`; RETURN `out_variable`; END; Вызов, второй параметр указывается сразу в процентах: Code: SELECT len_delat_domashku(1, 20); База: PHP: CREATE TABLE `workers` ( `id` int(11) NOT NULL, `zarplata` int(11) NOT NULL, PRIMARY KEY (`id`) )
trunker вы хоть что нибудь типа этого прочтите: http://www.devels.ru/index.php?what=art&p=99 Ну и фамилию препода запишите, пригодится Code: CREATE PROCEDURE [len_delat_dz] @worker_id [int] =1 , @percent [real] =100 AS BEGIN UPDATE workers SET zarplata = zarplata*@percent/100 where id=@worker_id END
Всем привет. Подскажите почему мускул может не хотеть работать внутри функции? Такое ощущение что он не видит подключения. Я код выношу за пределы функции, все нормально работает
ZloiKombat если вы создаете подключение внутри функции - переменная создается в локальной области видимости функции, чтобы избежать этого предварительно объявите переменную глобальной с помощью ключевого слова global. Проще будет, если вы покажете приблизительный код
Что не так с процедуро? помогите пож испраивть Задание следующее: Создать процедуру с использованием курсора для вывода списка занятий определенного преподавателя за определенный календарный период с подведением итогов по видам занятий. Талицы: Данные регистрации студентов Номер зачетки Код занятия Код предмета Время начала Время окончания Дата занятия 10001 1 1 11:20 13:15 14.01.02 Таблица 3 Тип занятия Код занятия Тип занятия 1 По расписанию Таблица 4 Преподаватели Код преподавателя Преподаватель Код кафедры 1 Серов 1 Таблиц. 6 Кафедры Код кафедры Кафедра 1 Экономической информатики Таблица 7 Предметы Код предмета Предмет Код кафедры 1 БД 1 create or replace procedure p_prepod_zanyat_dat(p_dat1 in date, p_dat2 in date, p_pr in varchar2) is CURSOR zanyat IS Select reg.K_P, z.n_tz, b.KAB, b.VR_N, round((b.vr_ok-b.vr_n),6) as vrem from registr reg inner join tip_zanyat tz on reg.kod_z=tz.kod_z where b.prep=p_prep order by z.n_tz; s number:=0; ktz zanytie.n_tz%type; p number:=0; begin DBMS_OUTPUT.PUT_LINE (RPAD('Код предмета',20,'_') || RPAD('Тип занятия',25,'_') ||RPAD('Кабинет',10,'_')||RPAD('Время начала',30,'_')||TO_CHAR('Кол-во часов')); FOR vstroka IN spis_zan LOOP if p=0 then /*проверка на первую запись в курсоре*/ p:=1; ktz:=trim(vstroka.n_tz); s:=s+vstroka.vrem; else if trim(ktz)=trim(vstroka.n_tz) then s:=s+vstroka.vrem; else DBMS_OUTPUT.PUT_LINE (RPAD('Итого',21,'_')||ktz||LPAD(perevod(s),56,'_')); s:=0; ktz:=vstroka.n_tz; s:=s+vstroka.vrem; end if; end if; DBMS_OUTPUT.PUT_LINE(RPAD(vstroka.K_P,20,'_')||RPAD(vstroka.n_tz,25,'_')||RPAD (TO_CHAR(vstroka.kab),10,'_')||RPAD(TO_CHAR(vstroka. VR_N),30,'_')||perevod(vstroka.vrem)); end loop; DBMS_OUTPUT.PUT_LINE (RPAD('Итого',21,'_')||ktz||LPAD(perevod(s),55,'_')); END;
PHP: mysql_query("UPDATE XXX SET last_login=".date("Y-m-d H:i:s")." WHERE login='xxx'"); datetime. Не обовляет значение
geforse строковые переменные (результат функции date) следует заключать в кавычки: PHP: mysql_query("UPDATE XXX SET last_login='".date("Y-m-d H:i:s")."' WHERE login='xxx'");
Gifts, спасибо. Ещё вопрос. Есть таблица вида: id login value 1 admin XX 2 admin YY 3 user ZZ Как получить ХХ и YY ? (тоесть все value пользователя admin)
XAMEHA, собственно так и делаю, но.. PHP: $data = mysql_fetch_assoc(mysql_query("SELECT value FROM users WHERE login='admin'")); print_r($data); Array ( [value] => XX ) YY не выводится