2

TsungとErlanは初めてで、答えを見つけることができなかった問題に遭遇しました。Tsung dynvars Erlang関数でerlang-mysql-driverを使用していますが、引用符のエスケープに問題があるようです。

私はこのようなことをしたいです:

      <setdynvars sourcetype="eval"
              code='fun({Pid,DynVars})->
                  mysql:start_link(p1, "localhost", "user", "pass", "db"), 
                  Result = mysql:fetch(p1, "SELECT * FROM consumers WHERE first_name=\'Doonley\'") end.'>
      <var name="myres" />
    </setdynvars>

しかし、空白エラーが発生します:

Douglas-Sparlings-MacBook-Pro:.tsung dsparling$ tsung start
Starting Tsung
"Log directory is: /Users/dsparling/.tsung/log/20091110-16:35"
3284- fatal: {whitespace_required_between_attributes}
["Config Error, aborting ! ",{fatal,{{whitespace_required_between_attributes},{file,"/Users/dsparling/.tsung/tsung.xml"},{line,72},{col,221}}}]

実際にはselectに変数を使用する必要がありますが、構文がわかりません。次のようなものが私が探しているものです:

      <setdynvars sourcetype="eval"
              code='fun({Pid,DynVars})->
                  Val='Doonley",
                  mysql:start_link(p1, "localhost", "user", "pass", "db"), 
                  Result = mysql:fetch(p1, "SELECT * FROM consumers WHERE first_name=?", Val) end.'>
      <var name="myres" />
    </setdynvars>
4

1 に答える 1

2

一重引用符をとしてエスケープしてみてください&apos;。例えば:

  <setdynvars sourcetype="eval"
          code='fun({Pid,DynVars})->
              mysql:start_link(p1, "localhost", "user", "pass", "db"), 
              Result = mysql:fetch(p1, "SELECT * FROM consumers WHERE first_name=&apos;Doonley&apos;") end.'>
  <var name="myres" />
</setdynvars>
于 2009-11-10T22:54:41.273 に答える