|  | 
          
             
              | 
                  
                     
                      | SQL_AL.PHP™ 
                          - Documentation |  |   
              |  |   
              | Sections: 1.1   What is SQL_AL.PHP™?1.2   Features/Functions
 1.3   History
 1.4   Future Plans
 1.5   Contacting the Developers
 1.6   Credits, Copyrights, and Trademarks
 |   
              | 
 |   
              | 1.1  What is SQL_AL.PHP™?SQL_AL.PHP™ is an PHP library providing a single, unified 
                  interface to multiple types of Relational DataBase Management 
                  Systems (RDBMS).  SQL_AL.PHP is a free, open-source API 
                  with direct support available for the following databases: 
                  Firebird SQL™Borland Interbase® (versions 6.5 and above)Microsoft SQL Server™MySQL™Oracle® (both version 7 & 8 of Oracle Call Interface)PostgreSQL™Sybase® SQL_AL.PHP provides an abstraction layer for all database functions.  
                  The beauty of this approach allows the developer to concentrate 
                  on the development of the application without regard to the 
                  specifics of certain implementations of SQL databases. Back to Top 1.2  Features/FunctionsTo use SQL_AL.PHP, some global variables need to be set beforehand.  
                  A more automated procedure will take place in the next revision: 
                  $GLOBALS['dbtype'] - The specified database 
                    type.  Can currently contain the following values for 
                    supported databases: 
                    
                      'fbird' -  For Firebird'ibase' -  For Borland Interbase.'mssql' -  For Microsoft SQL Server.'mysql' -  For MySQL.'oracle' -  For Oracle OCI version 7.'oci8' -   For Oracle OCI version 8.'postgres' -  For PostgreSQL.'sybase' -  For Sybase.$GLOBALS['db_id'] - The database identifier 
                    returned by the sql_connect() function. To begin an SQL connection, simply use the following two lines 
                  of PHP code:  
                  include_once('sql_al.php');
$GLOBALS['dbtype'] = 'mysql';  //  Can be any valid, supported DBTYPE string listed above.
$GLOBALS['db_id'] = sql_connect('localhost','root','password','test');
//  Use the values for the configured RDBMS you chose on line 2. SQL_AL.PHP includes a majority of the features implemented 
                  in PHP 4.x for the various database types.  However, to 
                  keep a server-agnostic approach to each database system, several 
                  functions are not available.  The following list of functions 
                  are available for use with all supported databases: 
                  sql_connect($host,$user,$password,$db) 
                    
                    
                      Used to connect to a database 
                        system and set the selected database.Requires four parameters:  
                        a hostname ($host) that 
                        could be a hostname or an IP address, a username 
                        ($user), the password ($password) 
                        for the username specified, and the database name 
                        ($db).  With only the exception 
                        of Oracle, all four parameters are significant.For Oracle databases, the 
                        hostname is configured with the database name in the TNSNAMES.ORA 
                        configuration file.For Interbase and Firebird 
                        databases, the database name should reflect the full path 
                        to the file on that host, i.e. /home/user/databases/wps.gdb 
                        (*nix) OR C:/Program Files/Firebird/bin/wps.gdb (Windows).  
                        Note that Windows users should always use the forward 
                        slash ('/') and not the backslash ('\') when denoting 
                        paths with SQL_AL.PHP.sql_connect() 
                        returns a database identifier, an integer that signifies 
                        which connection has been opened for use.  Oracle 
                        is the exception to this rule, since Oracle does not use 
                        connection identifiers.  Instead, Oracle will 
                        return a cursor, which is treated by 
                        SQL_AL.PHP as a connection identifier behind the scenes.
sql_free_result($resid) 
                    
                    
                      Used to free result resources 
                        from memory.Requires one parameter:  
                        a result identifier ($resid) signifying 
                        the particular result set returned.The returned result is either 
                        TRUE or FALSE.
sql_logout($db_identifier) 
                    
                    
                      Used to close the connection 
                        opened to a database system (and its selected database).Requires one parameter:  
                        a database identifier ($db_identifier) 
                        signifying the particular connected database.The returned result is either 
                        TRUE or FALSE.
sql_query($query, $db_identifier) 
                    
                    
                      Used to submit an SQL query 
                        to an connected database, returning an identifier for 
                        the result set.Requires two parameters:  
                        the query string ($query) to be executed 
                        and a database identifier ($resid) signifying 
                        the particular connected database.The returned result is a result 
                        identifier ($resid).Both Oracle OCI7 & OCI8 
                        do not directly support the execution of queries in a 
                        single step.  A workaround simplifies the query process 
                        and returns a statement identifier, which is the equivalent 
                        of a result identifier.A global setting, $GLOBALS['usetrans'], 
                        determines whether all queries are automatically committed 
                        after execution.  By default, Firebird, Interbase, 
                        and Oracle auto-commit queries.  The default setting 
                        of FALSE will allow these RDBMS to auto-commit.  
                        The other RDBMS do not auto commit.  Changing the 
                        value of $GLOBALS['usetrans'] to TRUE 
                        will force these RDBMS to wait for a call to FUNCTION 
                        sql_commit().
sql_num_rows($resid,$subquery 
                    = '') 
                    
                      Used to determine the number 
                        of affected rows in a result set.Requires one parameter:  
                        a result identifier ($resid) signifying 
                        the particular result set to determine the total row affected.The optional $subquery 
                        parameter consists of the portion of the original query 
                        after the FROM keyword.  This parameter is required 
                        by Oracle OCI7 & OCI8, Interbase and Firebird, which 
                        do not natively support a "rows returned" function 
                        in PHP.  The $subquery allows sql_num_rows() 
                        to select the Count() of the rows in the query, as a work 
                        around.The returned result is an 
                        integer value ($num_rows).
sql_fetch_row($resid) 
                    
                    
                      Used to return the next available 
                        row of data from a result set as a numbered array. Requires one parameter:  
                        a database identifier ($resid) signifying 
                        the particular result set from which to retrieve a row.The returned result is an 
                        array of the data returned from the various columns requested, 
                        with numbers as the array keys starting from zero.
sql_fetch_array($resid) 
                    
                    
                      Used to return the next available 
                        row of data from a result set as an associative array. 
                        Requires one parameter:  
                        a database identifier ($resid) signifying 
                        the particular result set from which to retrieve a row.The returned result is an 
                        array of the data returned from the various columns requested, 
                        with the column names as the array keys.As of version 1.1, the column 
                        names are not forced to always return in lowercase.
sql_fetch_object($resid) 
                    
                    
                      Used to return the next available 
                        row of data from a result set as an associative object.Requires one parameter:  
                        a database identifier ($resid) signifying 
                        the particular result set from which to retrieve a row.The returned result is an 
                        object with the data returned from the various columns 
                        requested as the object properties, named by the column 
                        headings.As of version 1.1, the column 
                        names are not forced to always return in lowercase.
sql_result($resid,$rowid,$field,$table,$where) 
                    
                    
                      Used to return a specific 
                        column from a row in a result set. Requires three regular parameters:  
                        a result identifier ($resid) signifying 
                        the particular result set from which to retrieve the field, 
                        a row identifier ($rowid) identifying 
                        the row from which to pull the field, and a column name 
                        ($field).Also requires two special 
                        parameters, a TABLE clause ($table) identifying 
                        which table the data came from in the original query, 
                        and a WHERE clause ($where) that contains 
                        the conditions from the original query.The special parameters are 
                        required for Oracle OCI versions 7 & 8, Interbase 
                        and Firebird, which do not support a "result" 
                        function in PHP.The returned result is the 
                        value of $field in $rowid 
                        from $resid.
sql_tbegin($db_identifier) 
                    **NEW FUNCTION** 
                     
                    
                      Used to begin a transaction.Returns a transaction identifier 
                        ($tid), which represents a results identifier 
                        for most applications.  For Oracle, no $tid 
                        is returned (just the value TRUE), since 
                        all queries are automatically part of a transaction.The $tid directly 
                        support Interbase/Firebird, which can use the $tid 
                        with the FUNCTIONS sql_commit() and sql_trollback() 
                        instead of the connection identifier.
sql_tcommit($db_identifier) **NEW FUNCTION**
                    
                    
                      Used to commit a transaction.Returns only TRUE or FALSE.
sql_trollback($db_identifier) **NEW FUNCTION**
                    
                    
                      Used to rollback a transaction.Returns only TRUE or FALSE.
sql_operator($operator_name,$text1 
                    = '',$text2 = '') 
                    
                      Used to return an SQL specific 
                        operator for the configured RBDMS.Requires one parameter:  
                        an operator identifier ($operator_name) 
                        signifying the desired operator.Takes two optional parameters 
                        required when retrieving the "binaryand" function.  
                        Additional uses in the future may exist as well.The returned result depends 
                        completely on the desired operator.  Currently, six 
                        supported operators or functions are available.The "like" 
                        operator, used as a wildcard with the LIKE keyword.The "notequal" 
                        operator, used in comparison of two values, entities, 
                        or column names.The "binaryand" 
                        function, where a Bitwise AND is performed on $text1 
                        and $text2.The "min" 
                        function, which returns the minimum value for a set of 
                        values.**NEW KEYWORD**The "max" 
                        function, which returns the maximum value for a set of 
                        values.**NEW KEYWORD**The "sum" 
                        function, which returns the total value for a set of values.**NEW KEYWORD**The usage and purpose for 
                        these functions may vary from database to database, but 
                        the keyword is all that this function will return.
sql_supported($sql_type) 
                    
                    
                      Used to determine whether 
                        PHP has support loaded for a particular SQL database type.Requires one parameter:  
                        a string ($sql_type) identifying which 
                        SQL database for which to determine the loaded support.The returned result is either 
                        TRUE or FALSE.
sql_limitquery($fieldnames,$tablename,$whereclause,$orderclause,$limitstart,$limittotal) 
                    
                    
                      Used to query with appropriate 
                        SQL language with the intent of returning a subset of 
                        results from the query based on a beginning and ending 
                        limit.Requires six parameters: a 
                        database identifier ($resid) signifying 
                        the particular connected database.The returned result is either 
                        TRUE or FALSE.Interbase does not have a 
                        "limit query" method available for versions 
                        6.0 or below, so use this function with caution.  
                        See the discussion about potential fixes in the article 
                        titled, Retrieving 
                        the first n records from a result set from the Borland 
                        Developer Network website.  Even this solution does 
                        not provide the ability to get the next n records, so 
                        IB6.0 and below have been left out of support. Back to Top 1.3  History2003-03-11 - Version 1.1 
                  Added support for Interbase v6.5 and above and Firebird 
                    SQL.Added support for transactions.  Firebird, Interbase, 
                    and Oracle auto-commit queries.  To enable true transaction 
                    support, a global variable was created, $GLOBALS['usetrans'], 
                    to disable auto-commits and force manual commits, rollbacks, 
                    etc.Added support for additional SQL operators ("min", 
                    "max", "sum").Documentation updated to reflect additions and bug fixes. 2003-02-04 - Version 1.01 
                  Documentation completed with all functions and usage.Fixed problem with OCI8 in functions sql_free_result(), 
                    sql_logoff();Streamlined the returning of results in most functions (removed 
                    a total of 13 lines from length of SQL_AL.PHP).  Now, 
                    one statement included for the returning of the result of 
                    the function.  Some exceptions exist: 
                    
                      sql_operator - Current implementation 
                        of the function will not allow a common result.  
                        It appears to be more practical to keep each operator 
                        separately returning a result.Additionally, some functions have included statements 
                        to return FALSE under certain circumstances.Enhanced the readability of SQL_AL.PHP by placing the functions 
                    in order as they appear above. 2003-01-27 - Version 1.0  
                  Initial public release.  Support included for MSSQL, 
                    MySQL, Oracle, Postgres, and Sybase. Back to Top 1.4  Future PlansSQL_AL.PHP has the following goals for the near future: 
                  Implement support for other RDBMS, including DB2®, Informix®, 
                    and Frontbase™.Include additional operators and functions in sql_operator().Include additional specialized functions similar to FUNCTION 
                    sql_limitquery(), where additional query 
                    language must be customized to the specific SQL implementation. Back to Top 1.5  Contacting the DevelopersTo reach the SQL_AL.PHP development team, visit the SQL_AL.PHP 
                  website on SourceForge and click on one of the developers' 
                  names to get information or send a message.  You may also 
                  email the team at sqlalphp@ytztech.com. Back to Top 1.6  Credits, Copyrights, 
                  and TrademarksCredits: 
                  Our families, for understanding the time 
                    we invest in SQL_AL.PHP and loving us anyway.All the Free and Open-Source Software developers, 
                    for their dedication and skill without expectation of repayment.The developers of PHP, for creating such 
                    a feature-rich language with which to run FreeWPS.The developers of the SQL databases supported, 
                    for developing such rich and powerful data storage systems 
                    with which to work. Copyrights: 
                  All SQL_AL.PHP components and documentation: 
                    
                      Copyright © 2003, YTZ Technical Services, LLC.  
                        All Rights Reserved. Trademarks: NOTE:  
                  The following disclaimers of intellectual property apply to 
                  the information contained in this series of documentation for 
                  SQL_AL.PHP. 
                  SQL_AL.PHP™ is a trademark of YTZ Technical Services, 
                    LLC.MySQL™ is a trademark of MySQL AB in the United States 
                    and other countries.PostgreSQL™ is a trademark of PostgreSQL, Inc. and 
                    Regents of the University of California.Microsoft SQL Server™ is a trademark of Microsoft 
                    Corporation in the United States and/or other countries.Oracle® is a registered trademark of Oracle Corporation.Sybase® is a registered trademark of Sybase, Inc. or 
                    its affiliates.DB2® and Informix® are registered trademarks of 
                    IBM Corporation.Interbase® is a registered trademark of Borland Software 
                    Corporation in the United States and other countries.Frontbase™ is a trademark of FrontBase Inc. and FrontBase 
                    A/S.All other companies, product names, service names, marks, 
                    logos, or symbols mentioned herein may be registered trademarks, 
                    trademarks, or service marks of their respective owners. Back to Top |   
              | 
 Copyright © 2003, YTZ Technical Services, LLC.  
                All Rights Reserved.
 All 
                other companies, product names, service names, marks,
 logos, or symbols mentioned herein may be registered trademarks,
 trademarks, or service marks of their respective owners.
 |  |