4 / 4 / 2
Регистрация: 19.10.2011
Сообщений: 187
|
||||||
1 | ||||||
Не работает запрос на добавление с одинарной кавычкой21.09.2013, 22:59. Просмотров 2553. Ответов 15
Метки нет Все метки)
(
Добрый вечер, такая ситуация, есть в базе MySQL две таблицы, одна из них таблица импорта. Добавляю данные из импорта примерно так:
0
|
|
21.09.2013, 22:59 | |
Добавление в строку экранирующего символа '\' перед каждой кавычкой в строке Не работает запрос на добавление
Запрос на добавление не работает |
|
21.09.2013, 23:18 | 2 | |||||
Попробуйте
0
|
4 / 4 / 2
Регистрация: 19.10.2011
Сообщений: 187
|
|
22.09.2013, 00:32 [ТС] | 3 |
Неа, не сработало...
Warning: addcslashes() expects exactly 2 parameters, 1 given in Z:\home\localhost\www\alfagroup\people_add.php on line 53 Ошибка добавления строки - 1065: Query was empty
0
|
4 / 4 / 2
Регистрация: 19.10.2011
Сообщений: 187
|
|
22.09.2013, 19:17 [ТС] | 5 |
Но вот и дело в том что у меня не получается применить addslashes именно к каким то переменным запроса. Единственное что у меня получилось добиться результата так за место одинарной кавычки наисать вот так:
$add_query="INSERT INTO imp_table(name_kl) VALUES (\"$result_row[name_kl]\")"; Работает, но не уверен что это правильное решение... с точки зрения грамотного кода.
0
|
Заблокирован
|
|||||||||||
22.09.2013, 19:28 | 6 | ||||||||||
Цитата
Если мануал не врет, это все делается так:
Добавлено через 4 минуты Однако довольно странная задача. Взять name_kl из imp_table и добавить в imp_table значения поля name_kl. Так и должно быть, или что-то пропустил?
1
|
Почетный модератор
![]() ![]() 16826 / 6704 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
||||||
22.09.2013, 20:20 | 7 | |||||
работает до тех пор, пока не встретится теперь уже двойная кавычка. Можно, например, так
1
|
4 / 4 / 2
Регистрация: 19.10.2011
Сообщений: 187
|
|
22.09.2013, 20:28 [ТС] | 8 |
Спасибо за помощь, получилось! И правда очень странная задача)) На самом деле я ошибся, там вставка в другую таблицу идет. Но факт остается фактом, вдруг в будущем подобная проблема будет, хочется знать как правильно писать чтоб небыло таких ошибок.
Добавлено через 6 минут Да об этом я как то и не подумал ![]()
0
|
Заблокирован
|
|
23.09.2013, 10:00 | 9 |
Копирование данных между таблицами делается сугубо запросами, без всяких процедур. В это можно даже верить не зная, потому что СУБД не может не иметь такого рода методов. Иначе это не СУБД, применительно и к такой как mySQL.
Типовой запрос на копирование это INSERT INTO ... SELECT...
0
|
4 / 4 / 2
Регистрация: 19.10.2011
Сообщений: 187
|
|
23.09.2013, 11:46 [ТС] | 10 |
Это я уже понял, спасибо. Но все равно сама проблема подобная думаю может в жизни еще встретиться... Вот и на будущее буду знать как с ней бороться.
0
|
4 / 4 / 2
Регистрация: 19.10.2011
Сообщений: 187
|
||||||
24.09.2013, 19:07 [ТС] | 12 | |||||
Да спасибо, в этом я разобрался, но сложность теперь возникла в том что средствами php я по мимо выборки добавлял вычисляемые переменные в нужную таблицу например так:
0
|
4 / 4 / 2
Регистрация: 19.10.2011
Сообщений: 187
|
|
24.09.2013, 20:09 [ТС] | 14 |
Вообще это сложно объяснить, но сейчас попробую, может быть кто то посоветует удобней методы работы.
Ситуация в том что база MySQL на данный момент не работает, а всего лишь я пытаюсь перейти с MS SQL на MySQL. А таблица импорта делается для того что сотрудники вносят данные в нее, потом эти данные в конце дня проверяются в головном офисе, чтоб в основную таблицу не попало не чего лишнего или неправильного, и после проверки сотрудником подтверждается копирование в основную таблицу. Это первая причина. Вторая: с точки зрения безопасности, что только сотрудники головного офиса имеют право на добавление в основную таблицу. Третья над которой я сейчас думаю... Это вставка из Exel. Не все сотрудники имеют доступ к базе, командировки например. Они по почте отправляют отчет в Exel. Для работы с MS SQL доступ организован через access, и там просто открываем связанную таблицу импорта, из Exel Ctrl+C в таблицу импорта Ctrl+V, и потом нажатием одной кнопки эти отчеты вносятся в основную таблицу. Удобно и быстро. Но говорю же это не идеал, это то что я смог придумать. Понимаю сейчас что через PHP наверно не получится вставлять Ctrl+C/Ctrl+V. Надо будет искать другой метод работы с отчетами Exel. А вообще ситуация решилась с ошибкой, покопался с кодом KOPOJI, и ко всем полям куда пользователи могут вставить кавычки, пришлось прописать mysql_real_escape_string. P.S. Конечено если кто то считает что мы работаем не правильно, буду благодарен за любой совет в сторону улучшения организации рабочего процесса.
0
|
Заблокирован
|
|
24.09.2013, 21:31 | 15 |
Понятно. Догадаться добавить поле на два состояния до и после цензуры вы не захотели. Вы видели форумы с премодерацией? Ну, когда написал, а появится после цензуры или вообще не появится. Вы подумали "они там копируют". Ничего не копируется и может даже не удаляться. Просто есть поле значение которого показывает можно это показывать всем, или нельзя всем, а только тем, кому можно. Эту систему можно расширить. Добавить значений, добавить ролей, разрешений и все такое. Допустим культурному начальству можно постить без цензуры, а для тупых рабов она обязательна, иначе накосячат.
Однако процедура умножения на коэффициент в эту схему не укладывается. Из екзеля делают csv и тупо закачивают его для импорта. Добавлено через 7 минут И конечно сам принцип. Я знаю что принято нанимать полных идиотов не способных даже на бит самостоятельной мысли, рабов, короче, интеллектуальных. Но посмотрите что получается. А получается в точности такая же картина отношений, как и в случае рабов материальных. Когда рабовладелец оказывается порабощен своими рабами. Ради кого вся эта хитрая репликация и фильтрация разрабатывается и оплачивается? Правильно - ради них. Понятно? Были бы они чуть умнее - и не пришлось бы тратить время и деньги, наоборот, пришлось бы их зарабатывать. Впрочем сейчас вы на них зарабатываете. Добавлено через 6 минут Культура работы с БД требует определенного интеллектуального развития. Как и демократия, кстати. Теперь понятно почему у нас рулит екзель и социализм? ![]()
1
|
4 / 4 / 2
Регистрация: 19.10.2011
Сообщений: 187
|
|
24.09.2013, 21:47 [ТС] | 16 |
Спасибо конечно за советы, некоторые моменты учту... Я думаю что все равно сколько людей столько и мнений, и не вижу плохой идеей не допускать к важной таблице всех подряд. Но все таки как вариант поля модерации учту... Но вот по поводу этой фразы:
Хочется спросить: Вы сразу родились с IQ выше чем у Наполеона? Форумы пестрят такими умными фразами. Культура работы с БД требует еще и опыта не так ли? А люди просят помощи на форумах для того чтоб, те у кого опыта много, с ними поделились. А не показывали на сколько другим не хватает интеллектуального развития!
0
|
24.09.2013, 21:47 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь. Не работает запрос на добавление не работает запрос на добавление INSERT INTO... Не работает запрос на добавление из коллекции в бд
Слово с кавычкой Многострочный массив с кавычкой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |