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 :: Не срабатывает запрос SQL

 PHP.SU

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


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

> Описание: Не выходит сделать выборку.
silveral
Отправлено: 06 Марта, 2014 - 23:00:13
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Март 2014  


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




PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.                 $link=mysql_connect("localhost", "andrey", "BsaswWdIC");
  4.                 mysql_select_db("box321");
  5.                 mysql_query("SET NAMES 'utf8'",$link);
  6.                 mysql_query("SET character_set_client=utf8",$link);
  7.                 mysql_query("SET character_set_connection=utf8",$link);
  8.                 mysql_query("SET character_set_results=utf8",$link);
  9.                 $sql='SELECT * FROM `attribute_description` WHERE `name`="Процессор" ORDER BY `attribute_id`';
  10.                 $otv=mysql_query($sql);
  11. ?>
  12.  


Получаю ответ 0. А если этот же запрос выполнить в phpMyAdmin то выборка происходит и находит 6 записей. Где трабл (ДНК в расчет не брать).
 
 Top
lastdays
Отправлено: 06 Марта, 2014 - 23:02:12
Post Id



Частый гость


Покинул форум
Сообщений всего: 221
Дата рег-ции: Март 2013  


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




Очевидно что в бд данные поступают "крякозябрами".

Скорее всего поможет одно из решений:
Сохранить файл в utf8
Добавить header('Content-Type: text/html; charset=utf-8');
в начало страницы.

(Отредактировано автором: 06 Марта, 2014 - 23:09:58)

 
 Top
silveral
Отправлено: 06 Марта, 2014 - 23:13:14
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Март 2014  


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




Не понял Не понял Не понял Надо больше спать.. Ты прав все получилось. Спасибо!!
 
 Top
silveral
Отправлено: 07 Марта, 2014 - 01:15:10
Post Id


Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Март 2014  


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




PHP:
скопировать код в буфер обмена
  1.  
  2.                $link=mysql_connect("localhost", "ndrey", "BQdfff3HIC") or die("Could not select database");
  3.                 mysql_select_db("box321") or die("Could not select database");
  4.                 mysql_query("SET NAMES 'utf8'",$link);
  5.                 mysql_query("SET character_set_client=utf8",$link);
  6.                 mysql_query("SET character_set_connection=utf8",$link);
  7.                 mysql_query("SET character_set_results=utf8",$link);
  8.  
  9.                
  10.         $zaprSQL='SELECT `user_id`, `name` FROM `product_description` WHERE `dat`="02.12"';
  11.         $result=mysql_query($zaprSQL) or die(mysql_error());
  12.  
  13. while ($descr=mysql_fetch_assoc($result))
  14.         {
  15.         $nam='Придуманное имя '.$descr['name'];
  16.         $nam=addslashes($nam);
  17.         $zaprSQL='UPDATE `usr_description` SET `usr_description`="'.$nam.'" WHERE `user_id`='.$descr['user_id'];
  18.         mysql_query($zaprSQL) or die(mysql_error());
  19.         }
  20.  


Тоже не срабатывает, но предыдущий Твой совет не катит. опять если запрос выполнить в МайАдмин все сработает. Пример генерируемого запроса:

UPDATE `usr_description` SET `usr_description`="Придуманное имя sanera" WHERE `user_id`=1;

(Отредактировано автором: 07 Марта, 2014 - 01:16:26)

 
 Top
lastdays
Отправлено: 07 Марта, 2014 - 01:51:19
Post Id



Частый гость


Покинул форум
Сообщений всего: 221
Дата рег-ции: Март 2013  


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




Этот код протестировал у себя на локальном.
Никаких проблем. Ничего дополнительного не указывая.

Файл сохранен как utf8
В htaccess -> AddDefaultCharset UTF-8


PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.    $link = mysql_connect("localhost", "ndrey", "BQdfff3HIC") or die("Could not select database");
  4.    mysql_select_db("box321") or die("Could not select database");
  5.  
  6.    $zaprSQL = mysql_query('SELECT `user_id`,`name` FROM `product_description` WHERE `dat`="02.12"') or die();
  7.  
  8.   if (count($zaprSQL)>0)
  9.    while ($d = mysql_fetch_array($zaprSQL))
  10.    {
  11.    $nam = 'Придуманное имя '.addslashes($d['user']);
  12.    mysql_query('UPDATE `usr_description` SET `usr_description`="'.$nam.'" WHERE `user_id`='.$descr['user_id']) or die();
  13.    }
  14. ?>
  15.  


Пробуйте.
И "выводите" все на один уровень, если utf8 то utf8...



з.ы. на крайний случай, посмотрите что пришло в саму базу.

(Отредактировано автором: 07 Марта, 2014 - 01:53:20)

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB