Прежде всего:
Пожалуйста, не используйте
mysql_*
функции в новом коде . Они больше не поддерживаются и официально устарели . См. Красную рамку ? Узнайте о подготовленных операторах и используйте PDO или MySQLi - в этой статье , которые помогут вам решить, какой из них. Если вы выберете PDO, вот хороший учебник .Это происходит, когда вы пытаетесь получить данные из результата
mysql_query
, но запросЭто предупреждение и не остановит скрипт, но сделает вашу программу неправильной.
Вам нужно проверить результат, возвращенный
mysql_query
, на$res = mysql_query($sql); if (!$res) { die(mysql_error()); } // after checking, do the fetch
Вопросы, относящиеся
- mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, логическим значением в select
- Все «mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, boolean задан« Вопросы по Stackoverflow
Связанные ошибки:
Другие функции
mysql*
, которые также ожидают, что ресурс результата mysql в качестве параметра приведет к той же ошибке для такой же причина.
Функциональные языки, по-моему, хороши для главным образом двух вещей: Игровой AIS и математические вычисления. Это хорошо в игровом AIS из-за его хороших манипуляций списком (по крайней мере, в Lisp и Схеме), и для математических вычислений из-за ее синтаксиса. У схемы, Lisp и Haskell есть синтаксис, который делает математические вычисления легкими читать. Последняя вещь, которую я должен добавить, состоит в том, что функциональные языки являются действительно забавными языками. Мой курс Схемы был одним из курсов, с которыми у меня было самое забавное.
Я провел некоторое исследование в это сам и думал, что мог бы добавить ПАРАЛЛЕЛИЗМ к списку причин использовать функциональный язык. Посмотрите в какой-то момент в скорости процессора ближайшего будущего, не будет в состоянии увеличить использование той же технологии CPU. Физика архитектуры не позволит его.
Так, чтобы был то, где параллельная обработка входит.
, К сожалению, большинство языков ООП не может использовать в своих интересах несколько процессоров сразу из-за взаимозависимостей между данными.
На чистых языках функционального программирования компьютер может работать два (или намного больше) функции сразу, потому что те функции не изменяют внешнюю информацию состояния.
Вот превосходная статья о функциональном программировании, которым можно наслаждаться.
Мой друг заключил одному в кавычки из его преподавателей вуза что что-то как следующее:
Тянут сетку с типами данных через вершину и операции на тех типах данных вниз левая сторона. При разрезании сетки вертикально Вы делаете OO; при разрезании сетки горизонтально Вы делаете FP.
Мой ответ - то, что FP является абсолютно жизнеспособным подходом к программированию со столь же широкой областью применения как OO. Как с любым обсуждением выбора языка программирования, я думаю, что более важные вопросы:
относительно первого вопроса, если бы Вы делаете это, прежде всего, для значения изучения, я предложил бы смотреть Haskell, из-за широкого спектра материалов поддержки (книги, статьи, активное сообщество, и т.д.)
относительно второго вопроса, у Haskell есть хороший диапазон библиотек (хотя некоторые более зрелы, чем другие), но Scala (гибридный функциональный OO язык, работающий на JVM), имеет преимущества, что можно более постепенно переходить в функциональный стиль, и Вы имеете полный спектр в наличии доступных для Java библиотек Вам.
Практически все, что можно сделать в PP, может быть сделано в FP и том же самом наоборот. Это - просто другой способ кодировать something— другой взгляд на проблему и различный способ решить его.
Однако, потому что не многие люди используют FP, проблема больше об отсутствии хороших библиотек, мобильность/пригодность для обслуживания (так как у специалиста по обслуживанию есть лучший шанс понять что-то записанное в C++, чем Схема), и отсутствие документации и сообщества. Я знаю, что СУЩЕСТВУЮТ некоторые документы, однако, сравните это с C++, C# или Java, и Вы поймете то, что я имею в виду.
Однако, если Вы действительно хотите сделать FP, можно использовать этот стиль даже в C++ и C#. Конечно, это не будут 100% FP, если Вы будете пользоваться стандартной библиотекой. К сожалению, я не думаю, что C# оптимизирован, чтобы использоваться с функциональным программированием, и это, вероятно, создаст партию проблем производительности.
Это - больше субъективное сообщение, что я думаю о FP. Это не строгое объявление.
Функциональные языки хороши в большом количестве ситуаций. Это зависит от библиотек конкретного функционального языка.
, Как Вы ответили бы на вопрос, "Когда использовать объектно-ориентированный язык программирования?"?
Хотя это - вполне субъективный вопрос, я был бы точно так же, как, чтобы добавить, что функциональные языки используются много для парсинга предметно-ориентированные языки ; функциональная природа предоставляет хорошо парсингу грамматик.
Из того, что я видел, это - больше вопрос вкуса, чем функциональность (никакая предназначенная игра слов). Действительно нет ничего или о стиле языка, который делает его по сути лучше или хуже в определенных задачах.
В целом используйте язык, на котором является самым легким выразить решение проблемы. Для функционального программирования это - когда решение проблемы легко выражается с точки зрения функции , отсюда имя. Обычно это хорошо для математических операций, AI, сопоставления с образцом; в целом что-либо, что может быть разломано на ряд правил, который должен быть применен для получения ответа. Можно только действительно определить "лучший" язык для использования после анализа проблемы достаточно. Это - то, где псевдокод пригождается. Если Вы пишете псевдокод, который похож на FP, используйте FP.
, Конечно, все полные языки программирования функционально эквивалентны, таким образом, это не имеет значения действительно, какой Вы выбираете, с точки зрения каких проблем можно решить. Основные эффекты будут с точки зрения кодирования эффективности и точности и простоты обслуживания.
Примечание также, что возможно подражать FP в языках OO через умно разработанные API. Например, я видел многочисленные библиотеки Java (JMock является одним примером), что объединение в цепочку метода использования для моделирования FP DSL. Тогда Вы будете видеть конструкции, такие как:
logger.expects(once()).method("error")
.with( and(stringContains(action),stringContains(cause)) );
Это по существу создает функцию, которая оценена, чтобы определить, корректна ли некоторая вызывающая последовательность на фиктивном объекте. (пример, украденный от http://www.jmock.org/yoga.html )
Другой подобный FP синтаксис на иначе языках OO является использованием закрытий, такой как в Ruby.