GithubHelp home page GithubHelp logo

Comments (7)

mkedo avatar mkedo commented on May 30, 2024

Можете поподробнее описать?

from go-db.

eliarhsamos avatar eliarhsamos commented on May 30, 2024

В запросе конкатенируется фигурная скобка
SELECT CONCAT('{',123,":adsf",'}');
Ожидаю, что будет {123:adsf}
Однако фигурные скобки пропали
Начал рыть - понял, что пускай даже префикс не указан - автозамена по фигурным все равно осуществляется
и получается 123:adsf

from go-db.

vasa-c avatar vasa-c commented on May 30, 2024

@eliarhsamos, да, но если я пишу запрос SELECT * FROM {table} я предполагаю, что будет вставлено имя таблицы, вне зависимо от того, как на верхнем уровне настроен префикс. А так замены не будет.

from go-db.

eliarhsamos avatar eliarhsamos commented on May 30, 2024

@vasa-c но в выше приведенном примере на казалось бы обычном запросе - фигурные пропадают. Как с этим штатными средствами бороться?

from go-db.

mkedo avatar mkedo commented on May 30, 2024

@eliarhsamos, понял. Как сказал @vasa-c, {table} должно разворачиваться вне зависимости от того установлен prefix или нет.
Вижу пока только одно решение - не использовать фигурные скобки.

Если в CONCAT нет имен колонок то можно так
$db->query("SELECT CONCAT(?l)", array(array('{',123,":adsf",'}')));
Если же есть, то
$db->query("SELECT CONCAT(?, ?, ?c, ?)", array('{',123,":adsf",'}'));

from go-db.

vasa-c avatar vasa-c commented on May 30, 2024

@eliarhsamos ну а если там знак вопроса будет? Весь смысл библиотеки, как раз, чтобы сырых данных в шаблоне не было.

Вобще эти {} древнее легаси, не знаю, пользуется ли кто, можно и убрать.

from go-db.

eliarhsamos avatar eliarhsamos commented on May 30, 2024

@mkedo видимо, да
@vasa-c знака вопроса там заведомо нет, нужно было создать json-подобный вариант
часть вещей уже под 5.7 mysql работают, часть нет
нужен стык
https://dev.mysql.com/doc/refman/5.7/en/json.html
и осуществляется что-то вроде
mysql> INSERT INTO t1 VALUES('{"key1": "value1", "key2": "value2"}');
где данные уже через плейсхолдеры обрабатываются
а вот обертка подается напрямую

from go-db.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.