Свернутый текст
PHP |
<?php |
Тот же результат при выполнении кода, размер котороко в 2 раза меньше:
Свернутый текст
PHP |
<?php |
Спустя 1 час, 8 минут, 13 секунд (9.06.2009 - 23:40) kirik написал(а):
Если требуется только "В результате на экран выводится содержимое таблицы pages из бд site где id соответствует полученному из адресной строки.", то второй код правильный, но в нем возможна SQL инъекция.
Вот так будет точнее:
Вот так будет точнее:
PHP |
define('MYSQL_SERVER', 'localhost'); |
Спустя 15 минут, 1 секунда (9.06.2009 - 23:55) freed-master написал(а):
Спасибо, учту.
Но все же для чего такое нагромаждение в первом варианте?
Но все же для чего такое нагромаждение в первом варианте?
Спустя 2 часа, 6 минут, 15 секунд (10.06.2009 - 02:02) kirik написал(а):
GetSQLValueString() - это функция, которая фильтрует входящие в запрос данные, все остальное - тоже что и у нас..
Спустя 4 часа, 47 минут, 16 секунд (10.06.2009 - 06:49) freed-master написал(а):
Так какой лучще исрользовать первый или третий и кавычки двойные/одинарные тоже роль играют?
Спустя 49 минут, 20 секунд (10.06.2009 - 07:38) kirik написал(а):
Цитата (freed-master @ 9.06.2009 - 22:49) |
Так какой лучще исрользовать первый или третий |
В данном случае 3-й симпотичнее выглядит и ничем не уступает 1-му. Но если будет какой-то другой скрипт, где в запросах будет использваться много данных, то проще, мне кажется, использовать первый.
Цитата (freed-master @ 9.06.2009 - 22:49) |
и кавычки двойные/одинарные тоже роль играют |
Нет, не особо. В одинарных php не ищет заключенных переменных, что снижает время отработки скрипта, но это не столь критично. Главное удобство одинарных кавычек - в них не нужно экранировать двойные (что логично) когда вставляешь html код.
Спустя 5 часов, 57 минут, 24 секунды (10.06.2009 - 13:36) freed-master написал(а):
Используя первый вариант конструкции, следующий код выполнялся правильно - имя класса каждого вставленного тега <td> задовалось в соответствии с полученным mm_id? т.е. только один тег содержал отличный от других класс.
PHP |
<?php do { ?> |
Используя третий варинт, практически такой же цикл присваивает всем классам одно имя:
PHP |
<?php while ($row_mm = mysql_fetch_assoc($mm)) { ?> |
Пробовал и do while - та же ситуация, только еще и один пустой тег <td> вставляет...
Спустя 5 часов, 32 минуты, 10 секунд (10.06.2009 - 19:08) kirik написал(а):
Цитата (freed-master @ 10.06.2009 - 05:36) |
Используя третий варинт, практически такой же цикл присваивает всем классам одно имя |
Там не забывай что в третьем варианте из базы достается только поле content. Тоесть чтобы использовать еще поля mm_id и mm_name, то нужно изменить запрос на:
SQL |
SELECT `mm_id`, `mm_name`, `content` FROM `pages` WHERE `lm_id` = {$_GET['lm_id']} |
Спустя 1 день, 4 минуты, 4 секунды (11.06.2009 - 19:12) freed-master написал(а):
Используя первый вариант конструкции почему то не работает "ON DUPLICATE KEY UPDATE"
PHP |
$editFormAction = $_SERVER['PHP_SELF']; |
Или снова что-то напутал?
Спустя 38 минут, 54 секунды (11.06.2009 - 19:51) kirik написал(а):
А зачем ты еще раз выбираешь БД?
Ты используешь не правильный синтаксис INSERT запроса. Тыц
Ты используешь не правильный синтаксис INSERT запроса. Тыц
Спустя 27 минут, 53 секунды (11.06.2009 - 20:19) freed-master написал(а):
Так что-ли?
SQL |
INSERT INTO counter (sid, date, month, year) VALUES ('".$sid."', '".$d."', '".$m."', '".$y."') ON DUPLICATE KEY UPDATE `sid`='".$sid."', `date`='".$d."', `month`='".$m."', `year`='".$y."' |
но тоже не хочет...
Спустя 9 минут, 28 секунд (11.06.2009 - 20:28) kirik написал(а):
Цитата (freed-master @ 11.06.2009 - 12:19) |
INSERT INTO counter (sid, date, month, year) VALUES ('".$sid."', '".$d."', '".$m."', '".$y."') ON DUPLICATE KEY UPDATE `sid`='".$sid."', `date`='".$d."', `month`='".$m."', `year`='".$y."' |
date - ключевое слово в MySQL, и если у тебя есть такое поле, это слово должно заключаться в обратные кавычки `date`.
Еще.. Зачем ты обновляешь sid, если он у тебя уникальный и работает на ON DUPLICATE KEY UPDATE?
И еще.. Если ты обновляешь все поля, используюя ON DUPLICATE KEY UPDATE, то не проще-ли воспользоваться REPLACE?
SQL |
REPLACE INTO `counter` (`sid`, `date`, `month`, `year`) VALUES ('".$sid."', '".$d."', '".$m."', '".$y."') |
Спустя 30 минут, 31 секунда (11.06.2009 - 20:59) freed-master написал(а):
Благодарю!!!
Конечно это проще, но как об этом узнать если ты об этом даже не догадываешься?... я не только про SQL...
Читить документации.... вариант, но они очень большие, их много и тратить на них уйму времени не очень хочеться учитывая то что я не ставлю перед собой цели стать супер программистом....
Еще раз спасибо!
Конечно это проще, но как об этом узнать если ты об этом даже не догадываешься?... я не только про SQL...
Читить документации.... вариант, но они очень большие, их много и тратить на них уйму времени не очень хочеться учитывая то что я не ставлю перед собой цели стать супер программистом....
Еще раз спасибо!
Спустя 2 часа, 30 минут, 20 секунд (11.06.2009 - 23:29) kirik написал(а):
Цитата (freed-master @ 11.06.2009 - 12:59) |
Конечно это проще, но как об этом узнать если ты об этом даже не догадываешься? |
Это и называется "опытом"
Но доки в любом случае нужно читать, какими бы большими они не были (эт я не только про программирование).
_____________
Всем, кто заинтересован, могу помочь начать зарабатывать на forex.
Пишите в личку или на e-mail: flash-dirt@yandex.ru