PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

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

> Найдено сообщений: 22
Lozzie Отправлено: 09 Апреля, 2011 - 22:33:19 • Тема: Разбить текст на строки • Форум: Регулярные выражения

Ответов: 3
Просмотров: 322
Пробовали preg_match_all с флагом "m"?
Lozzie Отправлено: 09 Апреля, 2011 - 15:05:34 • Тема: mysql_num_rows всегда возвращает 1 • Форум: Программирование на PHP

Ответов: 3
Просмотров: 2974
Если вы используете COUNT, а запись существует, то у вас результат будет примерно такой:
mysql_num_rows($sql) - вернет 1,
mysql_result($sql, 0) - вернет значение для COUNT.

Пример:
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query('SELECT COUNT(*) FROM `table` WHERE `name` = "такого имени не существует"');
  3. if (mysql_num_rows($result) > 0) {
  4.     print 'Запись существует';
  5. }
  6.  
  7. if (mysql_result($result, 0) == 0) {
  8.     print 'Запись не существует';
  9. }
  10.  

Результат выполнения:
CODE (htmlphp):
скопировать код в буфер обмена
  1. Запись существует
  2. Запись не существует


Цитата:
здесь вообще не сработало

Попробуйте так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. if (mysql_num_rows(mysql_query('SELECT * FROM `table` WHERE `name`="' . mysql_escape_string($name) . '")) > 0) {
  5.    print 'Запись существует';
  6. }
  7.  
Lozzie Отправлено: 09 Апреля, 2011 - 14:43:27 • Тема: Запрос не работает • Форум: SQL и Архитектура БД

Ответов: 14
Просмотров: 68
Дело ваше. Дайте знать, когда найдете на форуме экстрасенса, умеющего определять ошибки в коде и запросах по положению луны.
Lozzie Отправлено: 09 Апреля, 2011 - 14:25:39 • Тема: Запрос не работает • Форум: SQL и Архитектура БД

Ответов: 14
Просмотров: 68
Лучше было бы изначально корректно сформулировать свой вопрос, указав не множество никому не нужных абстракций, а структуру таблицы и результат выполнения запроса.
P.S: Если все-таки имя таблицы указано в запросе так, как оно есть на самом деле, то, повторюсь, слово table является зарезервированным.
Lozzie Отправлено: 09 Апреля, 2011 - 14:20:49 • Тема: Запрос не работает • Форум: SQL и Архитектура БД

Ответов: 14
Просмотров: 68
Если в вашем сообщении указано, что имена колонок - year и data, то логично предположить, что она не существует. Оптимально будет прикрепить структуру таблицы и возвращаемую ошибку(если есть).
Lozzie Отправлено: 09 Апреля, 2011 - 14:16:06 • Тема: Запрос не работает • Форум: SQL и Архитектура БД

Ответов: 14
Просмотров: 68
alexiy, поставим вопрос иначе. Есть ли у вас в таблице колонка best_users?
Lozzie Отправлено: 09 Апреля, 2011 - 14:11:43 • Тема: Запрос не работает • Форум: SQL и Архитектура БД

Ответов: 14
Просмотров: 68
alexiy, например тем, что в вашем запросе присутствуют имена колонок, которых нет в таблице:
Цитата:
поля которой "Year" & "Data"

А еще тем, что слово table является зарезервированным.
То есть, у вас в результате должен быть следующий формат запроса:
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. INSERT INTO имя_таблицы (колонка1, колонка2) VALUES (значение1, значение2)
  3.  
Lozzie Отправлено: 09 Апреля, 2011 - 14:05:47 • Тема: Запрос не работает • Форум: SQL и Архитектура БД

Ответов: 14
Просмотров: 68
CODE (SQL):
скопировать код в буфер обмена
  1. INSERT INTO `best_users` (`year`, `data`) VALUES(...), (...), (...)
Lozzie Отправлено: 09 Апреля, 2011 - 05:00:52 • Тема: Помощь в составлении запроса • Форум: Напишите за меня, пожалуйста

Ответов: 18
Просмотров: 162
А с чего он должен работать? Это только пример. Я лишь хотел вам продемонстрировать реализацию с оператором IF(вместо подзапроса). А так, если к запросу добавить группировку и корректные условия выборки, то он сможет справиться с вашей задачей.
Lozzie Отправлено: 09 Апреля, 2011 - 03:59:52 • Тема: Помощь в составлении запроса • Форум: Напишите за меня, пожалуйста

Ответов: 18
Просмотров: 162
Почему бы не выбирать колонку с временем через условный оператор? Пример:
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT texts.id, texts.text, IF(MAX(comments.date) > 0, MAX(comments.date), texts.date) AS date
  3. FROM texts, comments
  4. WHERE texts.id = comments.tid ORDER BY date ASC
  5.  

P.S: Пример на статус идеального решения не претендует. Но в пять утра что-то удачнее не придумать.
P.P.S: Так и не понял, зачем поле даты int(11), когда unix-timestamp укладывается в int(10) unsigned. А колонку uid можно убрать, добавив UNIQUE KEY (`id`).
Lozzie Отправлено: 09 Апреля, 2011 - 01:09:00 • Тема: Нужен совет по нагрузке на сервер • Форум: Программирование на PHP

Ответов: 3
Просмотров: 205
Цитата:
Если уменьшится то совершенно незначительно. А вот с целью повышения безопасности это неплохой ход.

Думаю, здесь зависит от самой реализации. Например, если планируется производить проверку через базу данных, то может получиться, что нагрузка увеличится. Если же использовать cookie, то не сказал бы, что это повысит безопасность. Разве что добавить проверочный код.
Lozzie Отправлено: 09 Апреля, 2011 - 00:57:23 • Тема: Как получить значение переменной внутри функции в классе • Форум: Программирование на PHP

Ответов: 6
Просмотров: 3419
Может быть затем, что автору данной темы требовалось, чтобы в одном методе задавалось значение переменной, а в другом получалось?
Lozzie Отправлено: 08 Апреля, 2011 - 22:55:57 • Тема: Помощь в составлении запроса • Форум: Напишите за меня, пожалуйста

Ответов: 18
Просмотров: 162
Цитата:
но при добавлении остальных полей вывод вообще прекращается.

Вывод не может прекратиться сам по себе. Либо у вас отсутствуют записи, удовлетворяющие условия выборки, либо ошибка в синтаксисе запроса. Почему бы не воспользоваться функцией mysql_error?
Lozzie Отправлено: 08 Апреля, 2011 - 22:51:52 • Тема: Как получить значение переменной внутри функции в классе • Форум: Программирование на PHP

Ответов: 6
Просмотров: 3419
Okula, это лишь пример, соответствующий схеме, приведенной автором темы. С тем же успехом вы могли меня упрекнуть в отстутствии phpDoc.
Lozzie Отправлено: 08 Апреля, 2011 - 21:02:11 • Тема: удаленная загрузка файлов • Форум: Напишите за меня, пожалуйста

Ответов: 20
Просмотров: 225
Это и стоило написать с самого начала(например, назвав тему "Загрузка файлов с удаленного хоста"). Используйте функцию file_get_contents либо библиотеку cURL для получения содержимого файла. Запись файла можно произвести через file_put_contents.
Пример:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. $content = file_get_contents('http://example.com/photos/my.png');
  5. file_put_contents('files/my.png', $content);
  6.  

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB