mysql - 变量中的 Asterisk 短语变量?

标签 mysql asterisk

我有一个奇怪的情况,我想在 SQL 字符串中表达一个变量。基本上 ODBC 将返回带有字符串的查询,在该字符串中将有一个 Asterisk 变量,我需要将其表达并传递回 SQL。例如(毫无意义的代码,但显示了示例)-

exten => s,n,Set(QUERY=${ODBC_GET_QUERY(${EXTEN})}) 

func_odbc.conf 中的 SQL 查询是 SELECT query FROM tablea WHERE number = ${ARG1}

现在 QUERY 看起来像 to = ${DIALED}${DIALED} 是一个 Asterisk 变量(例如,我将其设置为 17005551212)我需要这样的措辞所以我最终得到 -

exten => s,n,Set(ALLOWED=${ODBC_GET_ALLOWED(${QUERY})})

func_odbc.conf 中的 SQL 查询将是 SELECT allowed FROM tableb WHERE ${ARG1},因此 SQL 查询将解析为 SELECT allowed WHERE to = 17005551212

在我深入研究这个问题并重新发明轮子之前,这是否可能甚至被允许?其实我还没有尝试过。我知道在 Set() 语句中它会内联地表达变量,但是有没有办法在通过 ODBC 返回变量时表达变量中的变量?谢谢!

最佳答案

请仔细阅读源码。

Func odbc 使用准备调用。因此它不适用于您的示例,因为 prepair 不允许这样做。

一般来说,您可以替换变量。示例 1 可以正常工作。

解决方法 - 使用 mysql EXEC。

关于mysql - 变量中的 Asterisk 短语变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43740188/

相关文章:

java - 使用 spring-boot 在 Jpa 查询中出错

php - 将数组的所有行插入MySql表 - Codeigniter相关

php - 在 SQL Server 中插入时间戳值

php - 我可以在 PHP 中混合使用 MySQL API 吗?

php - bind_result 上允许的字节内存大小耗尽

asterisk - 使用相对路径编译 Asterisk

real-time - Asterisk:调用文件和实时

linux - Asterisk Manager 无法设置 sslbindport

android - 自动调用号码并播放语音信息

android - 使用 Asterisk 设置 Sip 调用