Trying to use a array to query a database

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • BobsURuncle
    New Member
    • Oct 2013
    • 1

    Trying to use a array to query a database

    I am trying to use an array to query my db.
    The following code displays one provinces data.
    Code:
     
    $sql = 'SELECT * FROM `person` WHERE `Province` = CONVERT(_utf8 \'ON \'  USING latin1) COLLATE latin1_swedish_ci AND `IsJudge` =1' . ' ORDER BY  LastName, Firstname';
    $result = $link->query($sql)or die( $link->error );
    If I make an array like so;
    Code:
    $provinces = array("BC","AB","SK","MB","ON","QC","NB","NS");
    
     foreach( $provinces as $province )
     {
    # then change query like so
    $sql = 'SELECT * FROM `person` WHERE `Province` = CONVERT(_utf8 \' "$province" \'  USING latin1) COLLATE latin1_swedish_ci AND `IsJudge` =1' . ' ORDER BY  LastName, Firstname';
    $result = $link->query($sql)or die( $link->error );
    }
    I get no data back. Any ideas?

    I got the answer ... changed code to;
    Code:
     $sql = "SELECT * FROM person WHERE Province='" . $province . "' AND IsJudge=1 ORDER BY Lastname, FirstName";
    and BobsURuncle, works just fine.

    TNX
    Bob
    Last edited by BobsURuncle; Oct 24 '13, 07:17 PM. Reason: Found a fix.
  • Luuk
    Recognized Expert Top Contributor
    • Mar 2012
    • 1043

    #2
    This wil eliminate the need for 'foreach()'

    Code:
    $p = "";
    $provinces = array("BC","AB","SK","MB","ON","QC","NB","NS");
    while ( count($provinces)>0 ){ $p.=array_shift($provinces).","; }
    $p = substr($p,0,strlen($p)-1);
    $sql = 'SELECT * FROM `person` WHERE `Province` IN ('.$p.') AND `IsJudge` =1' . ' ORDER BY  LastName, Firstname';

    Comment

    Working...