Thanks Neven
Changed the
while( list($k,$v) = each($data) ) {
to
foreach ($data as $k => $v) {
Will look at the blob stuff although It seems to be working as is
currently !
Cheers
Rob
Neven MacEwan wrote:
> Rob
>
> Looking at the code below and the docs on ibase_execute it does a
> positional replace, so if you want to do a parambyname function you would
> have to code it yourself (by stripping your :tags replacing them with ?
> whilst retaing a 'map' of the order they are in if you get my drift)
>
> as an aside the cryptic
>
> while( list($k,$v) = each($data) ) {
> ....
> }
>
> I would consider is 'superceded' by
>
> foreach ($data as $k => $v) {
> ...
> }
>
> Blobs are a separate issue and i'd look at ibase_blob_? functions first
> http://us2.php.net/manual/en/function.ibase-blob-add.php
>
> HTH
>
> Neven
>
>
>
>
>> Hi
>>
>> I am a PHP newbie.
>>
>> I was using PDO for other Dbs (MYSQL) but have switched to using the
>> firebird/interbase drivers for Firebird as the PDO firebird stuff was
>> full of bugs.
>>
>> Anyway I have got my php connecting, disconnecting and using
>> transactions ok. However I am struggling with running queries that take
>> parameters. In the PDO drivers I used a bindparam function to assign a
>> value to a named parameter. However I cant see an equivelent function
>> for the native drivers. I see that ibase_execute and ibase_Query take a
>> 'bind_arg' list of parameters that fill in '?' indicated parameters.
>>
>> First Question
>> I would like to do queries like "Update TableName SET Field1 =
>> :Field1Param WHERE Field2 = :Field2param" and assing parameters by
>> name. IS this at all possible ?
>>
>> If I do have to use "Update TableName SET Field1 = ? WHERE Field2 = ?" I
>> have found the following function (which I don't fully understand) that
>> takes an array of params and runs an execute. I am using it and it
>> appears to work well.
>>
>>
>> function db_execute($stmt, $data)
>> {
>> if(!is_array($data))
>> return ibase_execute($stmt,$data);
>>
>> $params = array();
>> while( list($k,$v) = each($data) )
>> $params[$k] = '$data['.$k.']';
>> eval('$rc=ibase_execute($stmt,'.join(',',$params).');');
>>
>> return $rc;
>> }
>>
>>
>> If I am using the above and I want to pass in Blob (binary) data as 1 or
>> more of the params I suspect the above will fail, correct?
>>
>> If so what should I do?
>>
>> Sorry about the long email :)
>>
>> Thanks
>>
>> Rob
>>
>>
>>
>> _______________________________________________
>> NZ Borland Developers Group Offtopic mailing list
>> Post: [email protected]
>> Admin: http://delphi.org.nz/mailman/listinfo/offtopic
>> Unsubscribe: send an email to [email protected] with
>> Subject: unsubscribe
>>
>>
>>
>>
>
>
> _______________________________________________
> NZ Borland Developers Group Offtopic mailing list
> Post: [email protected]
> Admin: http://delphi.org.nz/mailman/listinfo/offtopic
> Unsubscribe: send an email to [email protected] with
> Subject: unsubscribe
>
>
_______________________________________________
NZ Borland Developers Group Offtopic mailing list
Post: [email protected]
Admin: http://delphi.org.nz/mailman/listinfo/offtopic
Unsubscribe: send an email to [email protected] with
Subject: unsubscribe