Запрос в БД Вордпреса из стронего скрипта

J
На сайте с 08.06.2006
Offline
844
573

print "select * from ".$site."_posts where ID in (select object_id from ".$site."_term_relationships where term_taxonomy_id = ( select term_id from ".$site."_terms where name = 'ФОТО')) and post_status='publish' ";


$sql = mysql_query("select * from ".$site."_posts where ID in (select object_id from ".$site."_term_relationships where term_taxonomy_id = ( select term_id from ".$site."_terms where name = 'ФОТО')) and post_status='publish' ");

$count = mysql_num_rows($sql);

Если в пхпмиадмине выполнить запрос, который принтом выводится, то все ок. А вот выполнение запроса в скрипте выводит $count = 0.

Если вместо name = 'ФОТО' подставить term_id=1 (айди категории "ФОТО"), то тоже все ок (но данные из БД "??????" выводятся)

Что-то с кодировками.

Но не могу дойти ума, что именно.

Подскажите!

Спасибо!

---------- Добавлено 03.07.2014 в 18:13 ----------

таблицы utf8_general_ci

перед запросом есть

mysql_query("SET NAMES 'utf-8' ");

---------- Добавлено 03.07.2014 в 18:20 ----------

Решил так

$db = mysql_connect("localhost","wp","") or die ("Error connect db");

mysql_select_db("wordpress") or die ("Error select db");

mysql_query("set names utf8",$db);

жирным выделил, то чего ранее не было

Exillon
На сайте с 30.01.2008
Offline
94
#1

Нужно проверять еще чтобы файл где код написан и есть кириллица был закодирован в utf8, многие по умолчанию редакторы ставят не utf8...

Перехват доменов с ТИЦ и PR, Списки дроп доменов. (https://dropwind.com/exp_domains) Регистрация доменов net-7.66$, com-8.30$, org-5.99. Хостинг от 1.24$. (https://dropwind.com/) wm BL 750+
Seredniy
На сайте с 17.03.2008
Offline
251
#2

Кстати, ТС, вы будьте осторожны с такими фишками. Безопасность же превыше всего?

Wordpress и другие CMS: правки, настройка, верстка и натяжка шаблонов, разработка сайтов "под ключ" (/ru/forum/1008050)
Mad_Man
На сайте с 10.11.2008
Offline
162
#3
joost:
Решил так
$db = mysql_connect("localhost","wp","") or die ("Error connect db");
mysql_select_db("wordpress") or die ("Error select db");
mysql_query("set names utf8",$db);

Библиотека mysql и все вызовы mysql_* устарели. Пожалуйста, посетите на досуге документацию и не забудьте про экранирование параметров запроса.

siv1987
На сайте с 02.04.2009
Offline
427
#4
joost:
жирным выделил, то чего ранее не было

По сути ничего не изменилось, так как mysql_connect возвращает текущее соединение если не задан параметр "force new link"

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий