Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: строки в БД
Форумы портала PHP.SU » » Вопросы новичков » строки в БД

Страниц (1): [1]
 

1. PATCH - 13 Августа, 2011 - 19:22:33 - перейти к сообщению
если я допустим в цикле вывожу записи с бд как можно отследить строку записи (в таблице нету колонки auto_increment)
2. White - 13 Августа, 2011 - 19:53:41 - перейти к сообщению
а зачем?
3. PATCH - 13 Августа, 2011 - 20:10:41 - перейти к сообщению
для перегона данных из бд в допустим блокнот
4. White - 13 Августа, 2011 - 20:19:31 - перейти к сообщению
а какое значение при этом будет иметь номер строки (не понятно что вы при этом подразумеваете)
PHP:
скопировать код в буфер обмена
  1. $fp = fopen('some_file', 'w');
  2. $sql=mysql_query('SELECT * FROM `table`');
  3. while($result=mysql_fetch_array($sql, MYSQL_ASSOC)) fwrite implode(',',$result)."\n";

чем не устраивает?
5. PATCH - 13 Августа, 2011 - 20:24:28 - перейти к сообщению
как показала практика сценарий php исполняется на время загрузки страницы (максимальное время загрузки страницы где то 30 секунд) после чего сценарий прекращает работу если записей в бд достаточно много то он за эти 30 секунд выведит N количество записей с бд и остановится на определеной строке если заного запустить сценарий он опять начнет заного выводить, я установил таймер по истечению которого будет посылатся header("location:index.php?line=".$line); потом допишу код с помощью которого будет идти перебор с имено этой строки. вот как только отследить строку, или как сделать что бы загрузка страницы происходила до того момента покудо данные не будут полностью выведены и записаны в блокнот (помойму он пытается загрузить страницу примерно 30секунд это потому чтоя не чего не вывожу в браузер а исполняю функцию так скажем перегона с sql>txt) а к чему такой распрос?) я прост спрашиваю как отследить строку в бд) не прошу ж вникать во все тонкости)
6. White - 13 Августа, 2011 - 20:35:06 - перейти к сообщению
ну для данного конкретного случая
set @a:=0;
select @a:=@a+1, name from table
должно сработать, так как
PATCH пишет:
выведит N количество записей с бд и остановится
, т.е. ответ от сервера SQL вы получаете. но врядли это вам чем-то поможет, так как последующую выборку придется делать тоже полностью.
можно так же в цикле поставить счетчик, результат будет примерно тот же.
а вообще нет возможности манипулировать с max_execution_time?
(Добавление)
да а SELECT INTO OUTFILE не подойдет?
7. PATCH - 13 Августа, 2011 - 20:45:09 - перейти к сообщению
max_execution_time есть возможность т.к на локальном компьютере но на что влияет продолжительно выполнение скрипта?

да а SELECT INTO OUTFILE не подойдет? - а что данный запрос делает?)
(Добавление)
поставил
max_execution_time = 0
черевато процесор загружен на 98% а если точнее процессор mysql однако и давольнатаки быстро выполняется пополнение в бд)
8. White - 13 Августа, 2011 - 21:06:26 - перейти к сообщению
SELECT INTO OUTFILE делает дамп таблицы(или выбранных полей) в выбранный файл, но если
PATCH пишет:
процессор mysql
мускуль и пхп на разных серверах, и имеет разные корневые папки, то файл сохранится на сервера мускуля, если есть права на запись на нем.
PATCH пишет:
черевато процесор загружен на 98%
эта настройка не должна влиять на нагрузку процессора а лишь устанавливать максимальное время выполнения скрипта.
если стоит по дефолту 30, процессор на эти 30 сек. выполнения тоже на 98% нагружается?

p.s. не ищите rowid в mysql его не существует, пока нет ни одного PRIMARY или UNIQUE ключа
9. PATCH - 13 Августа, 2011 - 21:20:19 - перейти к сообщению
как не страно да) хотя вчера было все норм) правдо уже комп работает 3 дня без перезагрузки даже)
10. White - 13 Августа, 2011 - 22:12:08 - перейти к сообщению
дело не в перезагрузках. php скорее всего тянет ресурсы при работе с фс. (кстати если Denwer, то с фс работает в несколько раз медленнее чем на нормальном сервере).
CODE (htmlphp):
скопировать код в буфер обмена
  1. SELECT * INTO OUTFILE "somefile.sql" FROM `table`;
работает на порядок быстрее, если вас устраивает результат и при правильной настройке сервера mysql
11. PATCH - 14 Августа, 2011 - 03:32:15 - перейти к сообщению
не с этого чудо denwera уже давно перешел ибо устарел на года 3) а нагрузка все таки было из за того что я долго не перезагружал комп)и бо счас нагрузка 1-2 на цп) ток вот проблема следующего типа возникла) мб знаете ее решение) http://forum.php.su/topic.php?fo...mp;v=#1313281749 кстати выяснил в чем нагрузка цп была я прост перегонял из файла в бд в цикле без остановки (если долго использовать цикл то ресурсы компа не высвобождаются а засаряются)

 

Powered by ExBB FM 1.0 RC1