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 :: проблема с PDO библиотекой

 PHP.SU

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


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

> Без описания
scuter
Отправлено: 22 Февраля, 2008 - 00:16:49
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


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




я использую для доступа к базам данных,
библиотеку PDO кодировку решил выбрать UTF-8,
так как она оптимальна для AJAX,
проблема появилась после того как я начал добавлять туда данные,
PDO оказывается экранирует символы,
кавычки я обратно разкомментировал а буковки не получается,
в кодировке cp-1251 PDO не портит буковки,
а как сделать чтобы в UTF-8 не портило.
 
 Top
RomAndry Администратор
Отправлено: 22 Февраля, 2008 - 01:43:13
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 913
Дата рег-ции: Янв. 2008  


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




SET CHARACTER SET utf8
SET NAMES utf8
 
My status
 Top
scuter
Отправлено: 22 Февраля, 2008 - 14:44:01
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


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




это вставлять в запрос insert,
или к таблице применить.
 
 Top
valenok
Отправлено: 22 Февраля, 2008 - 16:49:32
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




В каком смысле портит буковки?
И где PDO экранирует чтото само ?


-----
Truly yours, Sasha.
 
My status
 Top
RomAndry Администратор
Отправлено: 22 Февраля, 2008 - 19:45:35
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 913
Дата рег-ции: Янв. 2008  


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




Это сразу после установления коннекта
 
My status
 Top
scuter
Отправлено: 23 Февраля, 2008 - 01:42:52
Post Id



Посетитель


Покинул форум
Сообщений всего: 282
Дата рег-ции: Янв. 2008  


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




Цитата:

В каком смысле портит буковки?
И где PDO экранирует чтото само ?

хм, экранизировал оказывается zend framework
который я использую, он то буковки и портил,
например все буквы "ш" на какую то хрень переделывает,
после слова "боль" ничего дальше не пишется,
сейчас попробовал всё это проделать на локальном компе
через обычную форму экранируются только кавычки, а на CMS-ке,
какие то непонятки творятся,
короче лучше показать код
PHP:
скопировать код в буфер обмена
  1.  
  2. include_once('./Zend/Db.php');
  3. include_once('./Zend/Json.php');
  4. function admin_db_connect($connect)
  5. {
  6.         global $$connect;
  7.         $$connect = Zend_Db::factory('PDO_MYSQL', array ('host'=> admin_host, 'username' => admin_username,'password' => admin_password,'dbname'   => admin_dbname));
  8. }
  9.  
  10. function admin_page($get=null)
  11. {
  12.         global $db;
  13.         if($get != null)
  14.         {
  15.                 if(isset($_POST['pagetext']) || isset($_POST['name']) || isset($_POST['tpl']) || isset($_POST['Keywords']) || isset($_POST['description']))
  16.                 {
  17.                         if(isset($_POST['pagetext']))
  18.                         {
  19.                                 $data['textpage'] = $_POST['pagetext'];
  20.                         }
  21.                         if(isset($_POST['name']))
  22.                         {
  23.                                 $data['name'] = $_POST['name'];
  24.                         }
  25.                         if(isset($_POST['tpl']))
  26.                         {
  27.                                 $data['tpl'] = $_POST['tpl'];
  28.                         }
  29.                         if(isset($_POST['Keywords']))
  30.                         {
  31.                                 $data['Keywords'] = $_POST['Keywords'];
  32.                         }
  33.                         if(isset($_POST['description']))
  34.                         {
  35.                                 $data['description'] = $_POST['description'];
  36.                         }
  37.                         $n = $db->update('test', $data, 'id = '.$get);
  38.                         return Zend_Json::encode(array('success' => false));
  39.                 }
  40.                 else
  41.                 {
  42.                         $select = $db->select()->from('test')->where(" `id` = ".$get);
  43.                         $result = $db->query($select);
  44.                         if(!$result)
  45.                         {
  46.                                 $error = array('success' => false,
  47.                                         'errors' => array(
  48.                                                 'id' => 'name',
  49.                                                 'msg' => 'Страница не определена.'
  50.                                         )
  51.                                 );
  52.                                 return Zend_Json::encode($error);
  53.                         }
  54.                         else
  55.                         {
  56.                                 $rows = $result->fetchAll();
  57.                                 foreach($rows[0] as $key => $val)
  58.                                 {
  59.                                         $out[$key] = $val;
  60.                                 }
  61.                                
  62.                                 return Zend_Json::encode($out);
  63.                         }
  64.                 }
  65.         }
  66.         else
  67.         {
  68.                 $error = array('success' => false,
  69.                         'errors' => array(
  70.                                 'id' => 'name',
  71.                                 'msg' => 'Страница не определена.'
  72.                         )
  73.                 );
  74.                 return Zend_Json::encode($error);
  75.         }
  76. }
  77. $db = true;
  78. admin_db_connect('db');
  79. if(isset($_GET['use']))
  80. {
  81.         eval("print_r(admin_".$_GET['mdl']."(\$_GET['use']));");
  82. }
  83. else
  84. {
  85.         eval("print_r(admin_".$_GET['mdl']."());");
  86. }
  87.  

(Отредактировано автором: 23 Февраля, 2008 - 03:51:01)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB