Связывает значения с именованными параметрами:
$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
.-1
означает, что значение привязки должно быть равно длине переменной.Это значение по умолчанию.Вам не нужно устанавливать это.Пока вы только связываете существующие переменные, вам не нужно беспокоиться.
Вы хотите использовать этот метод, потому что
Binding позволяет базе данных повторно использовать контекст оператора и кэшируется из предыдущих выполнений оператора , даже если его ранее выполнял другой пользователь или процесс.Привязка уменьшает проблемы SQL-инъекция , поскольку данные, связанные с переменной привязки, никогда не рассматриваются как часть оператора SQL.Это не нуждается в цитировании или экранировании.
, что означает, что он более безопасен и имеет лучшую производительность .