PreviousNext
Help > API Functions > SQL Queries & Procedures > i5_setparam
i5_setparam

 

Allocates parameter to parameterized request.

 

      bool i5_ setparam (resource stmt, int position, mixed value)

or

      bool i5_ setparam (resource stmt, string parmName, mixed value)

 

 

Parameters

 

stmt

i5_prepare prepared request ID

position

parameter index (marker) in the request

parmName

parameter name

value

parameter allocated value

 

Return

 

True if OK, false if failed. 

 

I5_ERR_PHP_HDLDFT

256

No default connection found.

I5_ERR_PHP_OPTIONSTYPE

259

The type of " I5_OPTIONS_ALIAS" option must be x and not x

I5_ERR_PHP_OPTIONSNUMBER

260

Option number -1 is unknown.

I5_ERR_PHP_TYPEPARAM

262

Type of element x in parameter -1 must be y. Type z was provided.

 

 Details

 

Request must be prepared with i5_prepare function.

 

Example 1: use parameter name

 

             $nom = 'C-01';

    //Prepared request creation

                    $req = i5_prepare('SELECT FIRSTNAME, LASTNAME FROM EASYCOMXMP/SP_CUST WHERE CUST_ID=:custid');

                   

             if ($req)

             {

                             $ret = i5_setparam($req, "custid", $nom);

                                           if (!$ret)

                             {

                                             print_r("i5_setparam error : ".i5_errormsg().'<br/>');

                             }

 

                   /* Request execution */

                                           $ret = i5_execute($req);

                             if (!$ret)

                             {

                                             print_r("i5_execute error : ".i5_errormsg().'<br/>');

                             }

 

                   /* Values reading */

                                           $ret = i5_fetch_row($req);

                             if (is_bool($ret))

                             {

                                             if (i5_errno () == I5_ERR_BEOF) {

                                                            echo "No data, cursor before or end of file<BR>";

                                             }

                                             else{

                                                            print_r("i5_fetch_row error : ".i5_errormsg().'<br/>');

                                             }

                             }

                             else

                             {

                                             printf('Firstname : %s - Lastname %s<BR>', $ret[0], $ret[1]);

                             }

                   

                   /* Command closing */

                                           $ret = i5_free_query($req);

                             if (!$ret)

                             {

                                             print_r("i5_free_query error : ".i5_errormsg().'<br/>');

                             }

             }

             else

             {

                             print_r("i5_prepare error : ".i5_errormsg().'<br/>');

             }

 

Example 2: use parameter index

 

 

$insert = 'INSERT INTO animals (id, race, name, weight) VALUES (?, ?, ?, ?)';
$req = i5_prepare($insert);

$animals = array(0, 'cat', 'Merry', 3.2);

if ($req) {
    $result = i5_execute($req, $animals);
    if ($result) {
        print "Merry adding successful.";
    }
    i5_setparam($req, 3, "Dan");

    i5_setparam($req, 4, 3.8);


    $result = i5_execute($req, $animals);
    if ($result) {
        print "Dan adding successful.";
    }

 

 

See also

 

i5_prepare

i5_execute