Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не записываться данные в Mysql

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
avrudoi
Отправлено: 27 Июля, 2010 - 10:44:13
Post Id


Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




Не записываться данные в Mysql.
Я уже поднимал эту тему на форуме но так и не разобрался с этой проблеммой т.к. пришлось решать другую.

Вообщем есть код.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         //подключение к базе
  3.  
  4. $linc=mysql_connect('localhost','root','') or die(echo('немогу подключиться к серверу'));
  5.                 // подключение к таблице
  6. mysql_select_db('shcola',$linc) or die("немогу выбрать базу");
  7.                 //запрос
  8. $query ="INSERT INTO telefon(id_telefon,id_sot_telefon,domashnii,id_domashnii)
  9.                  VALUES ('11111','1111','11111','11111')";
  10.                 //выплнение запроса
  11. mysql_query($query) or die(mysql_error());
  12.                 //закратие базы данных
  13. echo('ок');
  14.  
  15. ?>



да кстате где находиться файл ошибок.


да вот еще

CODE (html):
скопировать код в буфер обмена
  1. Эта ошибка (HTTP 500 - внутренняя ошибка сервера) означает, что на веб-узле, который вы хотите посетить, имеется проблема, препятствующая отображению нужной веб-страницы.
  2.  

(Отредактировано автором: 27 Июля, 2010 - 11:11:00)

 
 Top
duk
Отправлено: 27 Июля, 2010 - 12:16:56
Post Id



Частый гость


Покинул форум
Сообщений всего: 208
Дата рег-ции: Февр. 2010  
Откуда: Москва


Помог: 3 раз(а)




и на каком этапе все рущится?
 
 Top
Viper
Отправлено: 27 Июля, 2010 - 12:30:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




у вас явная проблема с сервером и программирование тут ни к чему...

файл ошибок находится там.

укажите систему на которой сервер, т.к. в windows и linux логи апача в разных местах


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
avrudoi
Отправлено: 27 Июля, 2010 - 13:36:32
Post Id


Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




Viper пишет:
у вас явная проблема с сервером и программирование тут ни к чему...

файл ошибок находится там.

укажите систему на которой сервер, т.к. в windows и linux логи апача в разных местах
Система виндус. Все планировалось как локальный серевер. Зарание денвер и т.п. мне не нужно
(Добавление)
duk пишет:
и на каком этапе все рущится?
на каком этапе мнене понятно потомучто невыдает ни одного сообщения.
 
 Top
avrudoi
Отправлено: 29 Июля, 2010 - 10:59:25
Post Id


Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Июнь 2010  


Помог: 0 раз(а)




так какие проблеммы могут быть. подскажите пожалуста
(Добавление)
Viper пишет:
у вас явная проблема с сервером и программирование тут ни к чему...

файл ошибок находится там.

укажите систему на которой сервер, т.к. в windows и linux логи апача в разных местах



так я не понял что за явная ошибка. И с каким сервером Апаче или МССКЮЛЬ
 
 Top
Advisor
Отправлено: 30 Июля, 2010 - 01:11:58
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июль 2010  


Помог: 0 раз(а)




у меня тоже проблема с sql

вот это вот -

PHP:
скопировать код в буфер обмена
  1. mysql_query("LOAD DATA INFILE '/home/customer/data/mod-tmp/ipl_userid_pricename.csv'
  2. INTO TABLE ipl_user62_02 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' ESCAPED BY '\\' LINES STARTING BY '' TERMINATED BY '\n'")


выдает ошибку

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 3

В phpmyadmin все нормально выполняется

Подскажите пожалуйста, что не так с синтаксисом, а то я всю голову сломал

(Отредактировано автором: 30 Июля, 2010 - 01:14:31)

 
 Top
JustUserR
Отправлено: 30 Июля, 2010 - 12:50:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Advisor пишет:
Подскажите пожалуйста, что не так с синтаксисом, а то я всю голову сломал
Проблема в вашем случае заключается в том что когда вы записываете данный SQL-запрос в строковую константу то оставляете для некоторых спецсимволов только один уровень экранирования - в то время как на самом деле нужна делать два уровня для разборщика строк инерптератора PHP и парсера SQL-запросов на сервере баз данных Конкретно запрос должен выглядеть примерно таким образом
Advisor пишет:
mysql_query("LOAD DATA INFILE '/home/customer/data/mod-tmp/ipl_userid_pricename.csv'
INTO TABLE ipl_user62_02 FIELDS TERMINATED BY ';' ENCLOSED BY '\"' ESCAPED BY '\\\\' LINES STARTING BY '' TERMINATED BY '\\n'")
Если вы хотите каждый раз проверять какие символы подлежат вторичному экранированию - то можете использовать фунцию типа addslashes в которую уже впринципе можете помещать любой правильный SQL-запрос


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Advisor
Отправлено: 30 Июля, 2010 - 14:52:30
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июль 2010  


Помог: 0 раз(а)




Спасибо. Я не учел двойное экранирование
 
 Top
JustUserR
Отправлено: 30 Июля, 2010 - 15:42:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Advisor пишет:
Спасибо. Я не учел двойное экранирование
Пожалуйста! Для проверки протизведенного экранирования на правильность и достаточность его уровня можно производить простую диагностику - а именно сохранять требуемые данные в обычную переменную и выводить ее в браузер и смотреть полученный исходный HTML-код Каким образом данные будут выглять в нем - точно также они будут передаваться в соответствующий вывод например SQL-серверу


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Advisor
Отправлено: 31 Июля, 2010 - 10:14:24
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июль 2010  


Помог: 0 раз(а)




А вот модуль Jumi для Joomla (вставка любого кода на страницу) кушает экранирование при сохранении вставленного скрипта Не понял . Он вообще по-моему не любит левые слэши... Т.е. если было \\n получается \n, а при еще одном сохранении вообще n остается... Если это решить нельзя, то посоветуйте другой модуль для вставки кода на страницу, чтоб он таких гадостей не делал
(Добавление)
Решил предыдущую проблему Улыбка


В файле admin.jumi.php

заменил строку номер 105 :

PHP:
скопировать код в буфер обмена
  1. $custom_script = $db->Quote(stripslashes($_POST['custom_script']));


вот этим:

PHP:
скопировать код в буфер обмена
  1.   $custom_script = $db->Quote($_POST['custom_script']);
  2. } else {
  3.   $custom_script = $db->Quote(stripslashes($_POST['custom_script']));
  4. }


Теперь слэши не пожирает))

Но возникла другая проблема, не знаю даже к какой теме отнести. После выполнения sql инструкции через php срабатывает logoff текущего пользователя! (инструкция - создание таблицы) Нигде не нашел решение...
 
 Top
JustUserR
Отправлено: 31 Июля, 2010 - 15:47:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Advisor пишет:
После выполнения sql инструкции через php срабатывает logoff текущего пользователя! (инструкция - создание таблицы)
Если вы имеете в виду отсоединение текущего SQL-пользователь в процессе работы PHP-скрипта после выполнения определенной инструкци - то дело может быть к примеру в отсутсвии прав доступа на создание таблицы и после возникновения ошибка SQL-сервер принудительно разрывает соединение В таком случае перед выполнение очередного SQL-запроса можно проверпять активность ресурса соединения - и если оно отсутствует то выполнять перезапуск


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Advisor
Отправлено: 31 Июля, 2010 - 21:23:55
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июль 2010  


Помог: 0 раз(а)




Во я нуб. зачем надо было писать mysql_close(); перед инструкцией? никто ни знает?
Спасибо. решил проблему
 
 Top
JustUserR
Отправлено: 01 Августа, 2010 - 02:36:05
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Advisor пишет:
Во я нуб. зачем надо было писать mysql_close(); перед инструкцией? никто ни знает?
Спасибо. решил проблему
На здоровье! Для автоматизации процесса вы можете создать свой собственный класс для работы с БД который сможет учитывать приведенные аспекты - например осуществлять экранирование нужного уровня для вводимых данных или осуществлять механизм препарирования - а также перед совершением SQL-запроса проверять наличие соединения с сервером БД которое могло оборваться и по причине наличия определенных лимитов Кроме того использования такого класса дает большую безопасность - поскольку все интерполируемые данные будут проходить обязательную обработку - а также благодаря размещению ресурса подключения в отдельной области видимости можно будет отслеживать неправильные вызовы функции mysql_real_escape_string


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB