RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 541
от 14.12.2006, 09:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 392, Экспертов: 48
В номере:Вопросов: 3, Ответов: 4


Вопрос № 66105: Здравствуйте! Не могу понять в чем глюк. Выдаёт: Warning: mysql_fetch_array() [ function.mysql-fetch-array]: The result type should be either MYSQL_NUM, MYSQL_ASSOC or MYSQL_BOTH. in z:homeeinfodrom.netwwwpages ucatalo...
Вопрос № 66112: Здравствуйте. Нужно организовать backup сайта (файлы, и БД MySQL) как лучше сделать? как используя меньше ресурсов создать dump БД и что лучше скопировать файлы в др. папку или что то другое (например сжать в один файл) посоветуите.<...
Вопрос № 66191: здравствуйте ув. эксперты рассылки, за недавнее время возникло пару вопросов: 1. Как из xml файла из тэгов извлечь аттирибуты, пользуюсь xml_parse_into_struct(). 2. мне понравился прем шифрования от Zend, подскажите как реаботает, гд...

Вопрос № 66.105
Здравствуйте!

Не могу понять в чем глюк. Выдаёт:

Warning: mysql_fetch_array() [
function.mysql-fetch-array]:
The result type should be either MYSQL_NUM, MYSQL_ASSOC or MYSQL_BOTH. in z:homeeinfodrom.netwwwpages ucatalogue hemes1.txt on line 41

На этой строчке:
while ($line = mysql_fetch_array($vopr, $conn))

Если пишу так:
while ($line = mysql_fetch_array($vopr))
То всё нормально.

С указателем $conn вроде всё в порядке. По крайней мере в предыдущей строчке всё ок. И до этого тоже нормально.

$vopr = mysql_query("select * from `cat_t1`;", $conn);

А самое интересное, то что эта же самая строчка раньше ошибок не вызывала.
while ($line = mysql_fetch_array($vopr, $conn))

Я модифицировал немного код, даже не касающийся бд, а в результате такая ошибка. В чем тут дело? И как это лечить?
Отправлен: 08.12.2006, 14:46
Вопрос задал: Талипов А Н (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: HookEst
Здравствуйте, Талипов А Н!
функция
array mysql_fetch_array ( resource result [, int result_type] )
Первый аргумент - указатель на результат запроса возвращаемый mysql_query;
Второй опциональный аргумент result_type в функции mysql_fetch_array() -- константа и может принимать следующие значения: MYSQL_ASSOC, MYSQL_NUM и MYSQL_BOTH. Эта возможность добавлена в PHP 3.0.7. Значением по умолчанию является: MYSQL_BOTH.
Указатель на соединение здесь не нужен.
Ответ отправил: HookEst (статус: 9-ый класс)
Ответ отправлен: 08.12.2006, 14:56
Оценка за ответ: 5
Комментарий оценки:
Спасибо!Это я наверное с другой функцией перепутал.

Отвечает: PVS
Здравствуйте, Талипов А Н!
mysql_fetch_array вторым параметром принимает не идентификатор подключения а способ индексации возвращаемого массива:
цыфровой: $line[0] - первое поле $line[1] - второе и т.д.
ассоциативный: $line['field_name'] - поле с названием field_name
оба: массив в два раза больше и каждое значение можно достать и по названию поля, и по порядковому номеру
Ответ отправил: PVS (статус: Специалист)
Ответ отправлен: 08.12.2006, 14:56
Оценка за ответ: 5
Комментарий оценки:
Спасибо, понял!


Вопрос № 66.112
Здравствуйте.
Нужно организовать backup сайта (файлы, и БД MySQL)

как лучше сделать?
как используя меньше ресурсов создать dump БД и что лучше скопировать файлы в др. папку или что то другое (например сжать в один файл) посоветуите.

заранее благодарю, Дмитрий
Отправлен: 08.12.2006, 15:05
Вопрос задал: Оськин Дмитрий Владимирович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Евгений Крюков
Здравствуйте, Оськин Дмитрий Владимирович!
Мой опыт в этом вопросе - я написал скрипт, который запускается из Cron. Код в приложении.
Сначала удаляю старые файлы (после небольшой модификации rm можно оставлять нужное кол-во копий, например за 3 дня).

Потом делаю бекап всех баз и бэкап всех сайтов. Имя файлов начинается с даты бекапа.

Кстати, у большинства хостеров процедура бэкапа включена по умолчанию.

Приложение:

---------
Большинство ответов на вопросы в рассылках находиться через Яндекс за 1 мин.

Ответ отправил: Евгений Крюков (статус: Студент)
Ответ отправлен: 08.12.2006, 17:01


Вопрос № 66.191
здравствуйте ув. эксперты рассылки,
за недавнее время возникло пару вопросов:
1. Как из xml файла из тэгов извлечь аттирибуты, пользуюсь xml_parse_into_struct().

2. мне понравился прем шифрования от Zend, подскажите как реаботает, где можно его попробывать для постоянного применения
Отправлен: 09.12.2006, 02:12
Вопрос задал: Pessom (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Цепковский Антон Сергеевич
Здравствуйте, Pessom!

По первому вопросу:
int xml_parse_into_struct ( resource parser, string data, array &values [, array &index] )
функция парсит XML-файл в 2-а параллельных массива, первый (index) содержит указатели на соответствующие значения в массиве values.

Функция возвращает 0 в случае провала, или 1 в случае успеха. Т.е. не FALSE или TRUE, поэтому при сравнении следует использовать оператор ===.

Вот простой пример работы.

<?php
$simple = "<para><note>simple note</note></para>";
$p = xml_parser_create();
xml_parse_into_struct($p, $simple, $vals, $index);
xml_parser_free($p);
echo "Index array ";
print_r($index);
echo " Vals array ";
print_r($vals);
?>

вот результат работы скрипта:

Index array
Array
(
[PARA] => Array
(
[0] => 0
[1] => 2
)

[NOTE] => Array
(
[0] => 1
)

)

Vals array
Array
(
[0] => Array
(
[tag] => PARA
[type] => open
[level] => 1
)

[1] => Array
(
[tag] => NOTE
[type] => complete
[level] => 2
[value] => simple note
)

[2] => Array
(
[tag] => PARA
[type] => close
[level] => 1
)

)

поэкспериментируйте с функцией и Вы поймете, что можно обойтись без первого массива. Далее анализируете получившуюся структуру массива и делаете, что Вам нужно.

По второму вопросу к сожалению ничего не могу сказать - не пользовался.

С уважением,
Антон Цепковский.

Приложение:

---------
Вся наша жизнь - RPG

Ответ отправил: Цепковский Антон Сергеевич (статус: 5-ый класс)
Ответ отправлен: 09.12.2006, 11:31
Оценка за ответ: 5


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное