troubleshooting Question

PHP7 + PDO select query not returning correct row

Avatar of dogsareit
dogsareitFlag for United States of America asked on
PHP
6 Comments1 Solution22 ViewsLast Modified:
I am using  PHP 7.4 -  PDO, on windows platform - localhost with MS SQl Server.
I am new to PDO and am struggle with a simple select query. :(
It is to test if a row in  a table has a  match for the parameters.
I know I am making a connection to the databse.
I know the row absolutely does exist in the SQLtable.
 But my $strNbrOfRows  returns 0 rows and  it defaults to  "NOMATCH' in my if statement.
What am I doing wrong ?
Thank you in advance for any help.
$_SESSION['SQLConnect'] = new PDO('sqlsrv:Server=MYLAPTOP;Database=TESTDB', $_SESSION['uid'], $_SESSION['pwd']);

if(!$_SESSION['SQLConnect'])
{
   echo '<BR>FAILED TO CONNECT TO SQL SERVER';
}else{   
   echo '<BR>SUCCEED TO CONNECT TO SQL SERVER';
}

// original SQL STATEMENT from PHP 5.6 
//$sql = "SELECT SupplierId From Suppliers WHERE AgencyID ='$strAgencyId' AND Code //='$strSupplierCode'";

// PDO PHP 7.4

$strAgencyId = 'X23';
$strSupplierCode = 'CCL';

$stmt = $_SESSION['SQLConnect']->prepare('SELECT SupplierId FROM Suppliers WHERE AgencyID=:$strAgencyId AND Code =:$strSupplierCode');
$stmt->execute(['AgencyID' => $strAgencyId, 'Code' => $strSupplierCode]);
$result = $stmt->fetch();
$strNbrOfRows = $stmt->rowCount();
echo '<BR>$strNbrOfRows: ' .$strNbrOfRows;

if($result)
{
   echo '<BR>FOUND A MATCH: ' . $result;
   $strReturn = 'MATCH';
}else{   
    echo '<BR>NO MATCHES: ' . $result;
    $strReturn = 'NOMATCH';
}




Join the community to see this answer!
Join our exclusive community to see this answer & millions of others.
Unlock 1 Answer and 6 Comments.
Join the Community
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 6 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros