Я пытаюсь переписать этот запрос к базе данных из строки 52 моего template.php D6 сайтаКак я могу заставить этот запрос работать в D7?
$uid = db_query('SELECT pm.author FROM {pm_message} pm INNER JOIN {pm_index} pmi ON pmi.mid = pm.mid AND pmi.thread_id = %d WHERE pm.author <> %d ORDER BY pm.timestamp DESC LIMIT 1', $thread['thread_id'], $user->uid);
в стандарты D7.
Но он продолжает давать мне
Recoverable fatal error: Argument 2 passed to db_query() must be an array, string given, called in C:\wamp2\www\site-name\sites\all\themes\simpler\template.php on line 52 and defined in db_query() (line 2313 of C:\wamp2\www\site-name\includes\database\database.inc).
Этот DB запрос является частью template.php фрагмента кода, который показывает фотографии пользователя в Private Messages модуль, и делает его похожим на Facebook или другой социальной сети. Здесь вы можете увидеть полный фрагмент. Поскольку личные сообщения имеют унифицированное значение $ участников (или поток сообщений), этот запрос БД в основном пытается изолировать последнего автора, кроме текущего пользователя.
Каков правильный синтаксис?
Спасибо большое, но он по-прежнему дает мне 2 очень уродливых предупреждения по всему сайту, когда в частных сообщениях отправитель (текущий пользователь) отправил сообщение, а получатель еще не ответил. Предупреждение: array_flip() [function.array-flip]: может только перебрасывать значения STRING и INTEGER! в DrupalDefaultEntityController-> load() (строка 178 из C: \ wamp2 \ www \ testsite7 \ includes \ entity.inc). Предупреждение: array_flip() [function.array-flip]: может только перебрасывать значения STRING и INTEGER! в DrupalDefaultEntityController-> cacheGet() (строка 354 из C: \ wamp2 \ www \ testsite7 \ includes \ entity.inc). – drupalina
Для получения дополнительной информации о проблеме, которую мы пытаемся решить, см. Это сообщение http://drupal.org/node/1549540 и посмотрите, можете ли вы помочь нам в этом. – drupalina
@drupalina - эти сообщения об ошибках, похоже, не связаны с самим запросом и выглядят как отдельные отдельные ошибки в рамках общей задачи/цели. Поскольку stackoverflow касается конкретных ответов на конкретные вопросы, их устранение здесь в значительной степени выходит за рамки вашего вопроса о том, как заставить запрос работать. –