繁体   English   中英

Oci_bind_by_name与like子句一起使用时不起作用

Oci_bind_by_name is not working when using it with like clause

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试使用oci_bind_by_name将php变量绑定到sql语句中,但是它不起作用,这是我的代码

     $keyword="'%test%'";
     $stmt=oci_parse($connection,"SELECT *  
     FROM tableName where id=:id and (dataDetails like :key1 or  textData like :key1 or  name like :key1) and lang = :lang ");
           oci_bind_by_name($stmt, ':id', $id);
           oci_bind_by_name($stmt, ':key1', $keyword);
           oci_bind_by_name($stmt, ':lang', $lang);
           oci_execute($stmt, OCI_DEFAULT);

在获取$ stmt之后,它会给我noth。 怎么了? 有什么帮助吗?

1 个回复

您需要绑定没有单引号的值,然后将绑定的值连接起来以进行类似的比较:

 $keyword="test";
 $stmt=oci_parse($connection,"SELECT *  
 FROM tableName where id=:id and (dataDetails like '%' || :key1 || '%' or  textData like '%' || :key1 || '%' or  name like '%' || :key1 || '%') and lang = :lang ");
       oci_bind_by_name($stmt, ':id', $id);
       oci_bind_by_name($stmt, ':key1', $keyword);
       oci_bind_by_name($stmt, ':lang', $lang);
       oci_execute($stmt, OCI_DEFAULT);
1 oci_bind_by_name不起作用

我试图将oracle的order by语句绑定到一个变量,以便可以对表进行排序,但是它不起作用。 如果我回显我的语句“ $ m_sql”,它实际上回显:order_by而不是我为其分配的变量。 请帮忙。 ...

2 oci_bind_by_name在PHP中不起作用

谁能指导我使用oci_bind_by_name。 我已经写了这段代码: 但是,只要对Code稍加修改并即时生成查询,它就会开始工作。 我对此一无所知,已经搜索过论坛和互联网。 请帮我。 ...

3 oci_bind_by_name不适用于LIKE子句

我的代码是这样的: 显然,它不能代替“:city” 我得到的警告: 警告:oci_bind_by_name():ORA-01036:第41行上C:\\ xampp \\ htdocs \\ phpOracle \\ tickets.php中的非法变量名称/编号 ...

5 未经转义的作品时,oci_bind_by_name不起作用

处理Oracle数据库的UPDATE查询。 有问题的字段的类型为NCHAR(25) ,它接受25个字符的UTF-8字节字符串。 我的输入值是ASCII ,应该没有问题。 以下代码段使用oci_bind_by_name函数转义WHERE子句中的变量并将其插入占位符变量:herp 。 ...

6 什么是oci_bind_by_name?

什么是oci_bind_by_name ? 我阅读了php手册,无法理解任何内容。 请有人向我解释一下 看看这个例子: 什么是-1 ? ...

7 oci_bind_by_name问题

我无法理解长度和类型,请任何人向我解释$ rc = oci_bind_by_name($ statement,$ bindvarname,$ phpvariable,$ length,$ type) ...

8 oci:使用数组而不是多个oci_bind_by_name

我正在寻找一种方法来绑定我在oci中准备好的请求,例如在PDO中: 以例如 我的问题是,我想在一个项目中使用Oracle,并且需要修改所有基于$sql和$params类DataBaseAccessor。 如果我有办法不修改我的所有代码,那可能很酷:) ...

9 如何在OCI_BIND_BY_NAME中使用SQL结果

我是oci连接的新手。 我想将SQL的结果用作要插入db中另一个表的数据。 这是我的代码 但是您知道我该如何使用从select语句获取的职员ID并将其插入到另一个表中,以及如何绑定? 从此代码,我得到错误 警告:oci_bind_by_name():无效的变量用于绑定 ...

10 php7,引用和oci_bind_by_name

我在php.net之前发布这个,以便更好地理解我在PHP 5.x和7.x之间看到的行为差异。 以下代码适用于PHP 5.x但不适用于7.x. runStmt()只是oci_execute和oci_fetch_array。 checkResult()只验证返回的行包含第二个参数中的 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM