Nano Hash - криптовалюты, майнинг, программирование

красноречивый - построитель запросов, работающий с необработанным sql с привязками

У меня есть необработанный код запроса sql, который я хочу запустить с помощью построителя запросов laravel из laravel:

 $q = "SELECT * FROM wp_posts WHERE post_parent = ?  ORDER BY ? ? LIMIT ?,   ?";    

  $values = ['40','post_status', "ASC" ,'1','10'];
   $q = $db->connection()->select($q,$values);  

Этот запрос выдаст ошибку о том, что

SQLSTATE[42000]: Syntax error or access violation: 1064 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 '? LIMIT ?, ?' at line 1 (SQL:    
SELECT * FROM wp_posts WHERE post_parent = `40` ORDER BY `post_status` ASC LIMIT 1, 10)

Теперь, когда я скопирую запрос из вывода ошибок и вставлю его в phpmyadmin sql runner, он будет работать без ошибок.

Есть идеи ??

03.07.2016

Ответы:


1

может быть post_parent не является строкой и не требует обратной связи

 $q = "SELECT * FROM wp_posts WHERE post_parent = ?  ORDER BY ? ? LIMIT ?,   ?";    

$values = [ 40,'post_status', "ASC" ,'1','10'];
03.07.2016
  • Да, вы правы, но это одна из попыток, которые я пробовал безуспешно. 03.07.2016

  • 2

    Если вы хотите сделать это с помощью построителя запросов, это должно сработать.

    $posts = DB::table('wp_posts')->where('post_parent', 40)->orderBy('post_status', 'ASC')->take(10)->get();
    

    Laravel автоматически связывает значения с PDO.

    03.07.2016

    3

    Кажется, построитель запросов не позволяет помещать команды SQL в переменные привязки, когда я удалил «ASC» из переменных привязки, это сработало:

    $q = "SELECT * FROM wp_posts WHERE post_parent = ?  ORDER BY ? ASC LIMIT ?,   ?"; 
    $values = [40,'post_status', 1,10];
    $q = $db->connection()->select($q,$values); 
    
    03.07.2016

    4

    Ты можешь написать

      $q = "SELECT * FROM wp_posts WHERE post_parent = ?  ORDER BY ? ? LIMIT ?,   ?";
    
      $values = [ 40,'post_status', "ASC" , 1, 10];
    

    НАДЕЕМСЯ ЭТО РЕШИТ ВАШУ ПРОБЛЕМУ

    03.07.2016
  • Использование неопределенной константы post_status — предполагается «post_status» 03.07.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..