【问题标题】:Can anyone help me how to bind a variable in a String?谁能帮助我如何在字符串中绑定变量?
【发布时间】:2015-05-02 05:26:53
【问题描述】:

谁能帮我解决这个问题。

function get_shareSearch($conn, $searchBy) { 
$id = "";
if(isset($_GET['share']))
    {
        $id = $_GET['share'];
        if($id == "%")
        {
            $id = "This is not going to work";
        }
    }
$statement = db_create_statement($conn, "SELECT DISTINCT * FROM shares WHERE company LIKE '%" . $id . "%' OR issue_date LIKE '%" . $id ."%' ORDER BY $searchBy ASC" );
db_bind($statement, ':id', $id);
$resultset = db_fetch_resultset($statement); 
return $resultset; 

}

function db_bind($statement, $name, $value) {
return oci_bind_by_name($statement, $name, $value, 30);

}

警告:oci_bind_by_name(): ORA-01036: 非法变量

任何人都可以帮助我如何在 oracle 语句中更改变量 id,以便我仍然可以进行连接加上能够绑定变量吗?谢谢。

  db_bind($statement, ':id', $id);

【问题讨论】:

  • 我正在使用它,所以当我在我的数据库中搜索时,例如,如果我有一个名为 Cool 的东西,那么如果我只搜索字母“o”,它将显示具有此“o”的everyName在其中,我把它当作一个连接而不是一个占位符。
  • 但是我不需要searchBy,我需要id,问题是绑定id,searchBy就是这样工作的。
  • 这就是我问的原因,我想保持连接操作并使用 :id 。
  • 不,不是,而是什么||是什么意思?
  • 好的,我会的。我在绑定几次时也遇到了麻烦;-) 很抱歉,我对您投了反对票,首先认为这是一个已经提出的问题,然后无法纠正。如果你做一个小的编辑,比如“谁能帮助我如何在字符串中绑定一个变量?”那么我就可以改变我的投票了。

标签: php mysql oracle bind


【解决方案1】:

要在字符串中绑定变量,它们必须被连接起来(oracle notation):

 SELECT DISTINCT * FROM shares WHERE company LIKE '%' || :id || '%' OR issue_date LIKE '%' || :id || '%' ORDER BY $searchBy ASC

【讨论】:

  • 再次感谢您,忘了我可以在 oracle 中而不是在 php 中连接:D
  • 完成。再次感谢您。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-21
  • 2010-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多