what is oci_bind_by_name http://php.net/manual/en/function.oci-bind-by-name.php为了?我读了 php 手册,但什么也看不懂。请有人向我解释一下
看这个例子:
$name = "O'Reilly";
$stid = oci_parse($mycon, 'INSERT INTO CUSTOMERS (NAME) VALUES (:nm)');
oci_bind_by_name($stid, ':nm', $name, -1);
oci_execute($stid);
what is -1
for?
它将值绑定到命名参数:
$name = "O'Reilly";
$stid = oci_parse($mycon, 'INSERT INTO CUSTOMERS (NAME) VALUES (:nm)');
oci_bind_by_name($stid, ':nm', $name, -1);
oci_execute($stid);
所以当你运行该查询时:nm
将O'Reilly
. The -1
意味着,绑定值应该与变量一样长。这是默认值。你不必设置它。只要您只绑定现有变量,就不需要费心。
您想使用此方法是因为
绑定允许数据库重用语句上下文并缓存先前执行的语句 http://www.oracle-developer.net/display.php?id=503,即使另一个用户或进程最初执行了它。结合减少SQL注入 http://en.wikipedia.org/wiki/SQL_injection这是因为与绑定变量关联的数据永远不会被视为 SQL 语句的一部分。它不需要引用或转义。
这意味着它是更安全并且有更好的性能.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)