Так выдает ошибку.
Warning:
mysql_query(): supplied argument is not a valid MySQL-Link resource in Y:\home\10.16.1.10\www\mp3portal\index.php on line 17
Возникла ошибка -
При запросе SELECT * FROM res WHERE name = 'nightwish'
Если копирую все, что есть в функции и вставляю напрямую, то все работает.
Но я не хочу захламлять сильно хтмл-код...
Хочу, чтобы все функции были в одном месте.
В чем проблема ?
Спустя 9 минут, 57 секунд (2.07.2009 - 22:03) sergeiss написал(а):
Это что - тоже "поповский" код?

У тебя переменная $db не определена внутри функции. Если она глобальная, то так и напиши
Либо - передай ее в виде параметра.
И код можно компанктнее написать:
Вместо
PHP |
$result1 = mysql_query ($sql, $db); if(!$result1) { echo "Возникла ошибка - ".mysql_error()."<br>"; echo $sql; exit(); } |
Вот так вот (это к вопросу о стиле программирования, из соседней темы):
PHP |
$result1 = mysql_query ($sql, $db) or die( "Возникла ошибка - ".mysql_error()."<br>".$sql); |
Плюс к этому, у тебя переданный параметр используется напрямую в запросе. А это - широкие ворота для SQL-инъекции.
Спустя 7 минут (2.07.2009 - 22:10) Krevedko написал(а):
Нет . Это мой код

Эхх..совсем забыл про объявление глобальных переменных, дурья моя башка )))
Спасибо !
Не привык еще к пхп, что тут надо объявлять, хотя в книжке читал про это. Вылетело из головы
Спустя 2 минуты, 3 секунды (2.07.2009 - 22:12) Krevedko написал(а):
урррааа..работает.
теперь я усну хоть спокойно
ПыСЫ Что такое инъекция ?
Вставка левой инфы в БД ? каким образом ?
Спустя 1 минута, 29 секунд (2.07.2009 - 22:13) sergeiss написал(а):
Да, и еще примечание. Если у тебя в каком-либо блоке только один оператор, как echo в твоем цикле, то его необязательно (хотя и можно) заключать в фигурные скобки.
И про защиту от инъекции не забудь!

После этого точно можешь "спать сном младенца"
Спустя 8 минут, 27 секунд (2.07.2009 - 22:22) PandoraBox2007 написал(а):
Цитата (sergeiss @ 2.07.2009 - 19:13) |
И про защиту от инъекции не забудь! |
творит чудеса и про инфекции можно забыть

или
PHP |
mysql_real_escape_string(); |
Спустя 4 минуты, 20 секунд (2.07.2009 - 22:26) Krevedko написал(а):
расскажите про инъекцию ..люююди...не усну ведь ). ушел гуглить
Спустя 41 секунда (2.07.2009 - 22:27) PandoraBox2007 написал(а):
Спустя 4 минуты, 28 секунд (2.07.2009 - 22:31) PandoraBox2007 написал(а):
в твоем случае надо экранировать так
PHP |
$search = mysql_real_escape_string($_REQUEST['search']); |
иначе чревато хакер может выполнить поиск у тебя обойти кавычки и сделать запрос в Базу скопировать всю базу или записать Shell