ADOdb

Database Abstraction Layer for PHP

User Tools

Site Tools


v5:reference:connection:prepare

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
reference:prepare [2015/12/01 02:41] – created mnewnhamv5:reference:connection:prepare [2019/08/09 15:42] (current) – [Usage] Fix execute call per https://github.com/ADOdb/ADOdb/issues/543 dregad
Line 1: Line 1:
-/** +====== prepare ====== 
-  * Should prepare the sql statement and return the stmt resource. +~~NOTOC~~ 
-For databases that do not support thiswe return the $sqlTo ensure +<WRAP info> 
-  compatibility with databases that do not support prepare: +Support for this function is limited. See the [[v5:database:feature_comparison]]. 
-  +</WRAP> 
-    $stmt = $db->Prepare("insert into table (id, name) values (?,?)"); +<WRAP right box 250px> 
-    $db->Execute($stmt,array(1,'Jill')) or die('insert failed'); +== See Also == 
-    $db->Execute($stmt,array(2,'Joe')) or die('insert failed')+[[v5:reference:connection:preparesp]]\\ 
-  +[[v5:reference:connection:execute]] for an explanation of the bind variables 
- * @param sql SQL to send to database +== Syntax == 
-+  mixed prepare 
- * @return return FALSEor the prepared statement, or the original sql if +      string $sql 
- *         if the database does not support prepare+  ) 
-  * +   
- */+</WRAP> 
 + 
 +===== Description ===== 
 +The method ''prepare()'' prepares an SQL statement.  
 +  * If the database supports prepared statements and the statement is valid the method return a resource  
 +  * If the database supports prepared statements and the statement is invalid the method returns false
 +  * If the database does not support prepared statements, the method returns a string containing the SQL statement (see below)
 + 
 +------------------------------------- 
 +===== Usage ===== 
 +<code php> 
 +/
 +Connection to Oracle database 
 +*
 + 
 +$handle = $db->prepare('SELECT * FROM customers WHERE customer_no=?'); 
 + 
 +$bindVariables = array(0=>100); 
 + 
 +/* 
 +* Execute the prepared statement 
 +*/ 
 +$result = $db->execute($handle$bindVariables); 
 +</code> 
 + 
 +For compatibility purposesif the database does not support prepared statements, the SQL statement is returned into the ''$handle'' variable. When sent to the ''execute()'' function,  The statement will be parsed to include the variablesand the statement will execute the same as if passed without parameters, and as if the DBMS supported prepared statements
v5/reference/connection/prepare.txt · Last modified: 2019/08/09 15:42 by dregad