× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



You learn after getting bit by that. I always used [] or {} to surround anything I printed for debugging purposes.


Roger Harman
COMMON Certified Application Developer - ILE RPG on IBM i on Power


-----Original Message-----
From: WEB400 <web400-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Don Brown via WEB400
Sent: Tuesday, September 27, 2022 4:11 PM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx>
Cc: Don Brown <DBrown@xxxxxxxxxx>; MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx>; web400@xxxxxxxxxxxxxxxxxx
Subject: Re: [WEB400] PHP using ODBC not liking like

Sam, you win the prize!!

Yes after adding the trim() it all started working.

I was printing the array to the screen but blanks are hard to see ;-)

Thank you

Don




From: "Sam_L" <lennon_s_j@xxxxxxxxxxx>
To: midrange-l@xxxxxxxxxxxxxxxxxx
Cc: web400@xxxxxxxxxxxxxxxxxx
Date: 28/09/2022 03:02 AM
Subject: Re: PHP using ODBC not liking like
Sent by: "MIDRANGE-L" <midrange-l-bounces@xxxxxxxxxxxxxxxxxx>



Caveat: I'm not a PHP expert.
I think it's likely that your like array value is padded right with
blanks and you'll have to remove them. Not sure of syntax but maybe
DEBAC LIKE %TRIM(?).

Sam

On 9/26/2022 11:50 PM, Don Brown via MIDRANGE-L wrote:
I an trying to use a LIKE in my SQL to allow searching for the result.

From Run SQL Scripts this works exactly as expected

select * from mfsdta/mfsdebpf
where debcoy = 1 and debac like 'A%' and debact = 'A'
fetch first 10 rows only;

But from PHP running on the IBMi using the toolkitservice I have

$conn = getToolkitServiceForCurrentUser();
$sql = "select * from "
. MFS_LIBRARY . ".MFSDEBPF "
. " where DEBCOY = ? and DEBAC like ? and
debact =
? "
. " order by DEBAC "
. " fetch first 10 rows only";

$values = array();
$values[0] = $company;
$values[1] = $search . "%";
$values[2] = $status;
print_r($values);
$stmt = prepareAndExecute($conn, $sql, $values);

The $values array have these values

Array ( [0] => 1 [1] => A% [2] => A )

No errors are received but no records either.

If I change the where to use and DEBAC >= ? then I get records returned
so it has to be the way I am formatting the variable with the % sign.

As a separate question I can't find any log file that may hold the
answer
- any suggestions ????

Thanks

Don



--
This email has been scanned for computer viruses. Although MSD has taken
reasonable precautions to ensure no viruses are present in this email, MSD
cannot accept responsibility for any loss or damage arising from the use
of this email or attachments..



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.