|
не могу достать фотку из базы
|
|||
---|---|---|---|
#18+
Давай постпуим по другому. Забудь на время про ПХП. Остановимся на SQL. Допустим у тебя есть юзер с идентификатором 11 . Тебе нужно получить строку из таблицы с этим идентификатором. Напиши чистый (без пхп кода, без пхп-переменных, без символов $ ) который возвратит запись юзера с идентификатором 11 . Начинаться будет SELECT * FROM user_table WHERE .... << что после where написать надо ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 19:56 |
|
не могу достать фотку из базы
|
|||
---|---|---|---|
#18+
SELECT * FROM user_table WHERE id=11 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 20:18 |
|
не могу достать фотку из базы
|
|||
---|---|---|---|
#18+
чё, неправильно?! :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2004, 21:18 |
|
не могу достать фотку из базы
|
|||
---|---|---|---|
#18+
я не совсем в курсе, ты вроде писал что у тебя поле называется user_id, так ? То есть более правильным будет запрос: SELECT * FROM user_table WHERE user_id=11 (да, и название таблицы user_table я от балды написал, я не знаю, как она у тебя называется). Теперь смотри, тебе надо с помощью пхп сгенерировать SQL-запрос, который был бы равен тому, что я привел выше. Идентификатор пользователя у тебя в $image_id, нужно его использовать для создания такого запроса. Как проверить, правильный ли запрос ты сгенерировал ? Делается это так: Код: plaintext 1. 2.
Этот код выведет запрос. Просто смотрищь и сравниваешь запрос с экрана с тем, что должно получиться. Если они чем то отличаются, значит неправильно генерируешь запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2004, 11:08 |
|
не могу достать фотку из базы
|
|||
---|---|---|---|
#18+
похоже я понимаю, что ты имеешь ввиду... сделал $res=mysql_query("SELECT * FROM $userstable WHERE user_id=1") и запросил $image=mysql_result($res, 'user_id', 29); - он мне логично выдаёт фотку под номером 1. Я её вижу, но с тем же успехом можно просто написать $image=mysql_result($res, 1, 29); - фотка будет та же. Теперь я просто не пойму что с этим делать дальше :) я уже пытался написать $res=mysql_query("SELECT * FROM $userstable WHERE $image_id='user_id'") - это наверняка грамматически неверная запись... да и ошибка выпадает что не определено то image_id то user_id :-/ и вот я не пойму к чему это всё должно привести: то ли снова обратится к циклу... то ли одно из двух :) (второго варианта у меня нет) да и этот (с циклом глупый) если в одной из записей будет отсутвовать фотка - то весь цикл сдвитется на 1 и тогда фотки не будут уже совпадать с user_id а значит будет просто мешанина. следовательно надо привязывать к user_id а, как я уже ранее писал, кроме $image_id='user_id' или что-то в этом духе в голову не лезет :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2004, 21:17 |
|
не могу достать фотку из базы
|
|||
---|---|---|---|
#18+
кстати, давно хотел спросить... если видел фотки грузятся как-то не до конца :( :-/ с чем это может быть связано? я так понимаю они заливаются не до конца, а не только выводятся... это проблема хостера или что-то не так в коде? или это как-то зависит от скорости инета? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2004, 03:03 |
|
не могу достать фотку из базы
|
|||
---|---|---|---|
#18+
авторсделал $res=mysql_query("SELECT * FROM $userstable WHERE user_id=1") и запросил $image=mysql_result($res, 'user_id', 29); - он мне логично выдаёт фотку под номером 1. Я её вижу, но с тем же успехом можно просто написать $image=mysql_result($res, 1, 29); - фотка будет та же. Теперь я просто не пойму что с этим делать дальше :) я уже пытался написать $res=mysql_query("SELECT * FROM $userstable WHERE $image_id='user_id'") - это наверняка грамматически неверная запись... да и ошибка выпадает что не определено то image_id то user_id :-/ смотри, у тебя запрос Код: plaintext
У тебя ссылки на скрипт выглядять так: image.php?image_id=12 image.php?image_id=13 где $image_id - идентификатор пользователя, для которого надо вывести фотку. Просто в запрос меняешь единицу на переменную $image_id и все Код: plaintext 1.
все этот запрос вернет запись только для одного пользователя поэтому цикл никакой не нужен. Картинка у тебя не полностью показывается скорее всего из-за того что ты полю дал тип BLOB. Насколько я помню (подробности ищи в мануале к mysql) что он позволяет хранить не более 54Кб ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2004, 13:50 |
|
не могу достать фотку из базы
|
|||
---|---|---|---|
#18+
в коде : Код: plaintext 1.
первая строка защищает код от SQL-injections. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2004, 13:54 |
|
не могу достать фотку из базы
|
|||
---|---|---|---|
#18+
:) поменял на LONGBLOB а чё такое "SQL-injections"? :-/ помнишь, мы говорили о global off я нашёл запись, которую надо вставить в .htaccess и все дела :) только у меня его нет (этого .htaccess) :( его самому можно написать? или у него какой-то свой язык/формат? и кроме того я не понял (точнее так пишут - перечитывал раз по 5) что больше ничего не надо делать? и что _FILE добавляются сами...? или их надо прописывать вместо моих переменных?! также нашёл как сделать постраничный вывод, но он какой-то недоделаный что ли :-/ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
я в упор не вижу (и эта ошибка вылетает) где в скрипте определяется $from из-за этого выводит что неопределена $from и всё насмарку, а кроме того ошибка пишется как раз в том месте где деление по страницам, но все равно вывод на одной странице :-/ наверное надо параллельно использовать LIMIT? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2004, 17:26 |
|
не могу достать фотку из базы
|
|||
---|---|---|---|
#18+
> а чё такое "SQL-injections"? :-/ http://www.spidynamics.com/papers/SQLInjectionWhitePaper.pdf > помнишь, мы говорили о global off я нашёл запись, которую надо вставить > в .htaccess и все дела :) только у меня его нет (этого .htaccess) :( > его самому можно написать? можно (если хостер позволяет). Твой скорее всего нет. В принципе если ты будешь писать свой код, предполагая, что у тебя register_globals = Off то этот код будет работать даже если у тебя на самом деле register_globals = On . А вот наоборот - нельзя. > или у него какой-то свой язык/формат? ну вобщем-то формат есть, но для тебя достаточно будет одной строки в файле: Код: plaintext
> и кроме того я не понял (точнее так пишут - перечитывал раз по 5) > что больше ничего не надо делать? не совсем понял вопрос, если ты имеешь ввиду "Нужно ли еще что-то сделать чтобы был register_globals = Off", то нет больше ничего не надо (если у тебя .htaccess разрешен) > и что _FILE добавляются сами...? на самом деле они существуют даже при register_globals = On; можешь в своем скрипте написать : Код: plaintext 1. 2. 3.
В постраничном выводе у тебя приведена лишь навигация. Переменная $form берется из GET-запроса. ЕСли он не определена (это скорее вего будет на первой странице) - будет выведено сообщение о том что переменная не определена. напиши так: Код: plaintext 1. 2. 3. 4.
> наверное надо параллельно использовать LIMIT? да нужно. В сети была куча статей по постраничному выводу. Например на webscript.ru или посмотри faq.phpclub.net - там есть глава с ссылками на уроки по ПХП. Почитай их ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2004, 18:47 |
|
|
start [/forum/topic.php?fid=47&msg=32505151&tid=1855186]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 152ms |
0 / 0 |