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