В основном вам нужно использовать функцию htmlspecialchars()
всякий раз, когда вы хотите вывести что-то в браузер, который поступает с пользовательского ввода.
Правильный способ использования этой функции что-то вроде этого:
echo htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
В Google Code University также есть эти очень образовательные видеоролики в Интернете:
Одной вещью, которую необходимо не упустить, являются довольно серьезные различия в пути SQL Сервер и MySQL реализуют синтаксис SQL.
Вот хорошее Сравнение Различных Реализаций SQL .
, Например, смотрите на главный-n раздел. В MySQL:
SELECT age
FROM person
ORDER BY age ASC
LIMIT 1 OFFSET 2
В SQL Сервер (T-SQL):
SELECT TOP 3 WITH TIES *
FROM person
ORDER BY age ASC
MySQL, более вероятно, будет иметь проблемы повреждения базы данных, и он не фиксирует их автоматически, когда они происходят. Я работал с MSSQL начиная с версии 6.5 и не помню проблему повреждения базы данных, выводящую базу данных из эксплуатации. Несколько раз я работал с MySQL в продуктивной среде, проблема повреждения базы данных вывела всю базу данных из эксплуатации, пока мы не выполнили волшебство, "зафиксируйте мой поврежденный индекс" вещь от командной строки.
система транзакции и журналирования MSSQL, по моему опыту, обрабатывает примерно что-либо - включая цикл включения и выключения питания или отказ оборудования - без повреждения базы данных, и если что-то испорчено, это фиксирует его автоматически.
Это было моим опытом, и я был бы рад услышать, что это было зафиксировано, или мы делали что-то не так.
http://dev.mysql.com/doc/refman/6.0/en/corrupted-myisam-tables.html
http://www.google.com/search?q=site%3Abugs.mysql.com+index+corruption
@abdu
, который главным, я нашел, что MySQL имеет по MSSQL, является поддержка часового пояса - способность приятно изменить между часовыми поясами, уважение перехода на летнее время, является фантастическим.
Сравнивают это:
mysql> SELECT CONVERT_TZ('2008-04-01 12:00:00', 'UTC', 'America/Los_Angeles');
+-----------------------------------------------------------------+
| CONVERT_TZ('2008-04-01 12:00:00', 'UTC', 'America/Los_Angeles') |
+-----------------------------------------------------------------+
| 2008-04-01 05:00:00 |
+-----------------------------------------------------------------+
к искривлениям, включенным в этот ответ .
Что касается 'легче использовать' комментарий, я сказал бы, что дело в том, что они отличаются, и если Вы знаете один, будут издержки в изучении другого.
Откровенно говоря, я не могу найти единственную причину использовать MySQL, а не MSSQL. Проблема, прежде чем используется стоиться, но Экспресс SQL Server 2005 года свободна и существует много хостинговых компаний, которые предлагают полный хостинг с SQL-сервером меньше чем за 5,00$ в месяц.
MSSQL легче использовать и имеет много функций, которые не существуют в MySQL.
у Кого-либо есть хороший опыт с "портом" базы данных от SQL Server до MySQL?
Это должно быть довольно болезненно! Я переключил версии MySQL от 4.x до 5.x, и различные операторы не будут больше работать, когда они привыкли для. Запрос анализатор был "улучшен" так операторы, которые ранее были настроены для производительности, не будет работать больше как ожидалось.
урок, извлеченный из работы с базой данных MySQL на 500 ГБ: это - тонкая тема и почти тривиальный!
@Cebjyre. IDE или Руководитель предприятия или Studio управления лучше, чем что-нибудь, что я видел до сих пор для MySQL. Я говорю 'легче использовать', потому что я могу сделать много вещей в MSSQL, где MySQL не имеет никаких дубликатов. В MySQL я понятия не имею, как настроить запросы путем простого рассмотрения плана запросов или рассмотрения статистики. Индексный настраивающий мастер в MSSQL берет на себя большую часть работы предположения, что индексы пропускают или неуместные.
Один недостаток MySQL нет никакого макс. размера для базы данных. База данных просто увеличилась бы в размере, пока это не заполняет диск. Вообразите, совместно использует ли этот диск базы данных с другими пользователями, и внезапно все их запросы перестали работать, потому что их базы данных не могут вырасти. Я сообщил об этой проблеме к MySQL давным-давно. Я не думаю, что это фиксируется все же.
Я думаю, что одна из главных вещей не упустить - то, что версии до MySQL 5.0 не имели представлений, триггеров и хранимых процедур.
[еще 112] из этого объяснен в страница .MySQL 5.0 Download
Все в MySQL, кажется, сделано ближе к металлу, чем в MSSQL, И документация рассматривает его тот путь. Специально для оптимизации необходимо будет понять, как индексы, конфигурация системы и оптимизатор взаимодействуют при различных обстоятельствах.
"оптимизатор" является больше синтаксическим анализатором. В MSSQL Ваш план запросов часто является удивлением (обычно хороший, иногда не). В MySQL это в значительной степени делает то, что Вы попросили, чтобы он сделал, способ, к которому Вы ожидали его. Что означает, что у Вас самих должно быть глубокое понимание различных путей, оно могло бы быть сделано.
Не созданный вокруг хорошей МОДЕЛИ ТРАНЗАКЦИИ (механизм MyISAM по умолчанию).
установка Файловой системы является Вашей проблемой.
Вся конфигурация базы данных является Вашей проблемой - особенно различные размеры кэша.
Иногда кажется лучше думать о нем как о специальном, прославленном isam. Codd и Date не несут много веса сюда. Они сказали бы это без затруднения.
Пребывание в течение некоторого времени, работая с MySQL от MSSQL до синтаксиса MySQL POV, я продолжал находить меня ограниченным в том, что я мог сделать.
существуют пределы bizzare на обновление таблицы при ссылке на ту же таблицу во время обновления.
Дополнительно ОБНОВЛЕНИЕ ОТ не работает и в прошлый раз, когда я проверил, что они не поддерживают СЛИЯНИЕ Oracle В синтаксис также. Это было выставочным стопором для меня, и я прекратил думать, что я доберусь где угодно с MySQL после этого.
Обе СУБД являются продуктом Sql server является коммерческим приложением, а MySql является opensouces приложением.Оба продукта включают в себя похожие функции, однако sql server должен использоваться для корпоративного решения, в то время как mysql может подойти для меньшей реализации. Если вам нужны такие функции, как восстановление, репликация, гранальная безопасность и многое другое, вам нужен sql server
MySql занимает меньше места на диске, использует меньше памяти и процессора, чем sql server
.Многие комментарии здесь больше похожи на религиозные аргументы, чем на утверждения из реальной жизни. Я много лет работал и с MySQL, и с MSSQL, и оба продукта хороши. Я бы выбрал MySQL в основном на основе среды, в которой вы работаете. Большинство проектов с открытым исходным кодом используют MySQL, поэтому, если вы идете в этом направлении, MySQL — ваш выбор. Если вы разрабатываете что-то с .Net, я бы выбрал MSSQL не потому, что он намного лучше, а просто потому, что его использует большинство людей. На самом деле в настоящее время я работаю над проектом, который использует ASP.NET с MySQL и С#. Он отлично работает.