| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Косяк в коде |
| Автор: DzSoft 22.3.2008, 22:19 | ||
| Не моу понять где ошибка! Ввожу данные, а update выполняться не хочет. Я и так и сяк. Не хочет. Помогите пожалуйста! Другими словами меняю или ввожу данные, а остаётся всё по старому...
|
| Автор: awers 22.3.2008, 22:59 | ||
Доложи о результатах
|
| Автор: DzSoft 22.3.2008, 23:34 |
| А ты сам уверен в том, что написал ))))) Хотя, чтто я говорю ))) Конечно уверен, что DEY = 2 просто отобразиться... Даже и пробывать не стоит !!!!! Серьёзно в чём проблемма. Вроде всё норм... Может я чего-то не вижу ? |
| Автор: skyboy 22.3.2008, 23:42 | ||||
естественно. в твоем коде:
что приводит к подавлению ошибок при выполнении. кроме того, в твоем коде незаметно использование mysql_error(в отличие от кода товарища awers, где он продумал ситуацию с ошибкой). пункт три: вместо того, чтоб вывести и посмотреть в первую очередь генерируемый SQL - запрос, ты зачем-то копаешь PHP-код. А запрос сам ты проверил? он у тебя без ошибок? или ты думаешь, что БД так и будет выполнять
|
| Автор: DzSoft 22.3.2008, 23:44 | ||||||
| Решил посмотреть и понял, что ты мне написал вывод всех данных )))) А мне надо, что бы данные которые я изменяю сохранялись. Добавлено через 6 минут и 34 секунды
Ну ребят тут вы меня в тупик поставили.... Хотя-я-я-я запрос, все должно быть ок. Поскольку проект просто перенесли с хоста на хост и он начал логать. А так работало всё норм..... Подскажите как запос посмотреть. Я посмотрел бы навсякий! Может и равду только там ошибка ! |
| Автор: awers 22.3.2008, 23:52 |
| DzSoft, честное слово, меня жутко злит когда люди просят помощи и не принемают ее. ПОКАЖИ МНЕ ЧТО ВЫДАЛО ТО, ЧТО Я НАПИСАЛ! |
| Автор: awers 23.3.2008, 00:07 |
| Да, и научись скролить код и читать все, а не то что на глаза попалось |
| Автор: DzSoft 23.3.2008, 00:38 |
| DEY = 2update nastr set kol='22', url='http://мой_домен.ru/', email1='shop@мой_домен', email2='shop@мой_домен', email3='shop@мой_домен', namemag='shop.мой_домен', url='http://мой_домен.ru/', put='http://мой_домен.ru/', par='0', title1='Регистрация в интернет магазине shop.мой_домен ', title2='Ваш заказ в интернет магазине shop.мой_домен', title3='Ваш новый пароль в интернет магазине shop.мой_домен', text1='Это письмо - подтверждение Вашей регистрации в интернет магазине shop.мой_домен, используйте Ваш персональный логин и пароль для быстрого и удобного просмотра и заказа товаров', text2='Это письмо подтверждение Вашего заказа в интернет магазине shop.мой_домен', inn='', kpp='', bik='', firm='', adr='', ruk='', buh='', kor='', bank='', schet='', tit=' автоаксессуары, автомобильный компрессор, ионизатор автомобильный, автомобильный пылесос', dd='мой_домен-shop.ru, автоаксессуары, ионизаторы автомобильные, автомобильные пылесосы, автомобильные компрессоры и многое другое Вы найдете у нас!', keyw='мой_домен-shop.ru, автоаксессуары, ионизаторы автомобильные, автомобильные пылесосы, автомобильные компрессоры и многое другое Вы найдете у нас!', ya1='мой_домен-shop.ru', ya2='мой_домен-shop.ru', r1='', r2='', r3='', r4='', r5='', r6='', r7='', r8='', r9='', r10='', mod1='нет', mod2='да', mod3='да', mod4='да', mod5='нет', mod6='да', mod7='нет', mod8='да', mod9='да', mod11='телефон:(495) 7777777 пишите на e-mail:[email protected] консультации по ICQ: 222222222 ', mod12=' мой_домен-shop.ru: автоаксессуары, ионизаторы автомобильные, автомобильные пылесосы, автомобильные компрессоры и многое другое Вы найдете у нас! ', mod13=' мой_домен-shop.ru: автоаксессуары, ионизаторы автомобильные, автомобильные пылесосы, автомобильные компрессоры и многое другое Вы найдете у нас!', mod14='нет', opl1='нет', opl2='да', opl3='нет', opl4='', opl5='' where idnastr=1Unknown column 'r1' in 'field list' -------------- Добавлено через 33 секунды Я так понял, что мы проверили запрос ??? |
| Автор: skyboy 23.3.2008, 00:50 | ||
вот это выдало mysql_error() означает следующее(так уж и быть, переведу):
Понимаешь?! Нет поля r1 в таблице nastr! Как можно обновить поле, которого нет?! |
| Автор: awers 23.3.2008, 00:53 |
| Unknown column 'r1' in 'field list' |
| Автор: DzSoft 23.3.2008, 04:47 | ||||
| переписал я базу MySQL Примерно так:
Проверил выше указаным кодом, Выдало
База совершенно пустая.... Попытался заполнить, но не заполняет!!!!! Что не так ???? |
| Автор: DzSoft 23.3.2008, 05:04 |
| Работает!!!! Всё сохраняет, но!!!! Возникла ещё проблемка. Маленькая не хочет запоминать " слова в ковычках просто проподают! Что делать ???? |
| Автор: ksnk 23.3.2008, 08:53 |
| почитать про http://phpfaq.ru/slashes#mysql. особое внимание - обратить на http://ru2.php.net/manual/en/function.mysql-real-escape-string.php |
| Автор: Fortop 24.3.2008, 02:24 |
| Я может чего-то не понимаю, но на совершенно пустой базе UPDATE не сработает |
| Автор: awers 24.3.2008, 02:26 |
| Fortop, может он с MySQL с Oracle путает.. это же там на апдейте несуществующего поля происходит инсерт |
| Автор: DzSoft 24.3.2008, 12:55 | ||||||||||
Да я только поставил и праверил данные. Всё заносится и ничего не путается и не проподает. P.S.: НовичОК Я
По поводу
|
| Автор: DzSoft 24.3.2008, 13:38 |
| Не смог я убрать заветные кавычки!!!! Что-то не могу понять где косяк... И слова при введении в строку не сохраняются. Например возьмём юр лица, я в асности на него и целюсь. у них идет ООО, ЗАО, и т.д. а потом "НАЗВАНИЕ". из чего следует, что из ООО "НАЗВАНИЕ" остаётся только ООО. |
| Автор: Feldmarschall 24.3.2008, 13:43 |
| DzSoft, проблема в том, что у тебя не один косяк в коде, а несколько. Надо разбираться с ними не в куче, а по одному. Сначала тебе понять, как должен выглядеть запрос UPDATE. Вот скажи, ты можешь просто, от руки, написать запрос, который обновляет данные в таблице? Пусть не такой огромной, а небольшой - на пару полей? |
| Автор: DzSoft 24.3.2008, 14:27 |
| Скажем то, что предыдущий база стояла от более новой версии движка, и как было уже сказано не содержала некоторых полей. Я переписал, все поля верны, всё встало и начало работать. Сохранять стало ормально помимо ЗАВЕТНЫХ КАВЫЧЕК. Я попросил однажды программиста он сделал пописав только PHP. Запрос новерное исправил, но не подсказал, что исправил. Вот я и тормазнул на этом.... Смотреть куда либо и искать ещё, что нибудь! |
| Автор: DzSoft 24.3.2008, 14:48 |
| Залез в phpMyAdmin, посмотреть базу.... И увидел, что в БАЗУ занеслось ООО "НАЗВАНИЕ". А вот отображение в админке нет! |
| Автор: bars80080 24.3.2008, 14:56 |
| есть одна мысль что-то мне кажется, что отображение в твоей админке происходит в текстовом поле, по принципу <input type=text value=$znachenie> без кавычек хотелось бы также сказать, раз уж не отображает, значит неплохо бы код отображатора сюда |
| Автор: awers 24.3.2008, 15:08 |
| DzSoft, мне кажется из сложившейся ситуации 2 выхода. 1 - нанять человека, который сможет тебе помочь 2 - сесть и вдумчиво поэтапно разбираться с этим (ужасным) кодом Я думаю стоит прекратить дискуссию, ибо вопрос "Чёта непахает" попахивает больше офтопом нежели конкретным вопросом |
| Автор: DzSoft 24.3.2008, 15:19 | ||
На первой странице. http://forum.vingrad.ru/forum/topic-202040/0.html с него я начал ликбез! |
| Автор: awers 24.3.2008, 15:25 |
| DzSoft, ты согласен с моим последним постом? |
| Автор: DzSoft 24.3.2008, 15:34 | ||
Зачем ? Мне самому интересно! Просто довсего мозг допиреть не может. Вот и приходиться просить помощь! а, что касается оффтопа. Вот тогда когда появляются такие сообщения, как Вы пишите HOTtopic становиться оффтопом. Так, что чем говорить, что это оффтоп лучше бы направил в нужное русло! |
| Автор: skyboy 24.3.2008, 17:36 | ||
да запросто. можно, я направлю? надо научиться отделять проблемы запросов БД от проблем PHP кода. надо научиться отделять проблемы кода PHP от проблем верстки HTML. как? довольно просто. просто надо запомнить. если подозреваешь в "косячности" запрос, то открываешь phpmyadmin или любой другой front-end, вставляешь там запрос и смотришь результат. если подозреваешь в "косячности" PHP-код, то убираешь оттуда обращения к базе(вполне можно обойтись массивами), чтение из файла и прочие необязательные для тестирования PHP-кода операции. Вставляешь побольше вывода отладочной информации(например, текущие значения ключевых переменных, счетчики итераций цикла и т.д.) возможно, косяк может быть в html. отладка в таком случае будет иная: надо посмотреть исходный код страницы(в разных браузерах по-разному: Ctrl + U для Mozilla Firefox, Ctrl + F3 для Opera, в IE - через меню). и искать косяки. навроде случившегося с тобой случая:
Вобщем, надо уметь находить источник ошибки. без этого - никак. Добавлено через 56 секунд че, правда? а у кого ты "помощи просишь" - как же они "допирают"? или у них не мозг, а другая конструкция? 0_о |
| Автор: DzSoft 24.3.2008, 19:26 | ||
| skyboy, скажем по сравнению с Вами я действительно мало знаю о php и MySQL, да вообще не знаю, но мне интересно и я пытаюсь всяческими путями понять и научиться. bars80080, извини, обманул. Полный код данной страницы
|
| Автор: Feldmarschall 24.3.2008, 19:40 | ||
| DzSoft, чтобы знать больше, надо больше читать. Ссылку про кавычки тебе дали ещё два дня назад. Ты за это время успел много написать, но так и не прочел, что
|
| Автор: awers 24.3.2008, 20:27 |
| DzSoft, штудируй мой первый пост, пока не поймешь в чем заключается смысл отладки. ВЫЯВИ проблему, а уже ПОТОМ проси тут помощи |
| Автор: DzSoft 24.3.2008, 21:44 |
| Вы только осуждать умеете???? Feldmarschall, Я то прочитал и то и другое. Но опять откланяясь от темы, могу сказать, что такой исходный код <input type="text" name="name" value="<? echo htmlspecialchars($name,ENT_QUOTES)?>"> <textarea><? echo htmlspecialchars($text,ENT_QUOTES)?></textarea> Никто не применял. Просто, человек, что-то подправил и не обьяснил и не показал, а просто пропал ((( А я всего лишь прошу обьяснить. Ну не доходит до меня, новечёк я. Мне просто надо подсказать и обьяснить, что к чему. А не критиковать меня!. Блин из-за этого оффтоп получиться. Возвращаясь к теме, мне кажеться, что неправельно прописал отображение <? echo $nastr["firm"]; ?> Может тут стоит подправить ? |
| Автор: Fortop 24.3.2008, 23:42 | ||
| Слушай хоть что-нибудь. Тебе написали как надо вывод всех значений из базы делать.
|
| Автор: bars80080 25.3.2008, 10:07 | ||
| DzSoft, три или четыре человека, уже методом телепатии догнали, что у тебя случилось и сказали что надо сделать (см. последний пост) вот кусок твоего кода:
т.е value="ООО " и что-то там ещё внутри тэга input, которое браузер просто не воспринимает: Название"" |
| Автор: Feldmarschall 25.3.2008, 10:36 |
| Но то тогда показалось хотя б ООО. Если же не выводит вообще ничего То проблема в get_nastr(); скорее всего... |
| Автор: bars80080 25.3.2008, 12:14 | ||
меня вот это ввело в сомнения:
|
| Автор: DzSoft 25.3.2008, 14:37 | ||
| Спасибо всем за решение моего вопроса! Вопрос был решён и понят. В заключении могу сказать. В самой базе заноситься ООО "НАЗВАНИЕ", а отображение идёт на ООО \"НАЗВАНИЕ\". Спасибо, но слеш не нужен. Направление есть задача почти решена. Возможно решу сам. сли хотите добить, не откожусь! bars80080, не namemag, а firm. А так я понял и подправил. Fortop, Тебе спасибо за подсказку... Буду разбирать этот кусок кода для ясной кортины!
По поводу get_nastr(); в порядке. там всё выводит, а когда правлю строчу из-за который проблеммы пропадает и не показывает только она. А в общем всё впорядке и всё работает! |
| Автор: Feldmarschall 25.3.2008, 15:00 |
| Про слеш написано по той же самой ссылке. где и про базу и про формы. |
| Автор: DzSoft 29.3.2008, 23:25 |
| Проблему понял. исправил. Что не допонял прочитал пост заного!!!! Всем спасибо и респект!!!!! |
| Автор: skyboy 31.3.2008, 13:22 |
| разобрался, так разобрался. 1. несколько вопросов в одной теме. 2. оффтоп и неужное обсуждение вопросов и поведения. во избежание рецидива вопрошения в эту же тему, закрываю её. |