sql >> Database >  >> RDS >> Mysql

Maak een array voor PDO van variabelen die zijn doorgegeven vanuit jQuery

Ik weet niet zeker of ik je probleem op de juiste manier heb begrepen, maar je kunt het proberen (of een opmerking plaatsen als ik het fout heb).

Vervang dit fragment:

$stmt = $dbh->prepare("SELECT COUNT(guid) FROM full_db2 WHERE {$firstpara} = :{$firstpara} AND {$secondpara} = :{$secondpara} AND {$thirdpara} = :{$thirdpara}");

$stmt->execute($data);

hiermee:

$validKeys = array('gender','maritalstatus', 'age');
    $sql = 'SELECT COUNT(guid) FROM full_db2';
    $any_condition = false;
    foreach($_GET as $key=>$val) {
       if (!empty($val) && in_array($key,$validKeys)) {
         if ($any_condition) {
           $sql .= ' AND '.$key.' = :'.$key;
         } else {
           $sql .= ' WHERE '.$key.' = :'.$key;
           $any_condition = true;
         }
       }
    }

    $stmt = $dbh->prepare($sql);

    foreach($_GET as $key=>$val) {

   if (!empty($val)  && in_array($key,$validKeys)) {
     $stmt ->bindValue(':'.$key, $val, PDO::PARAM_STR);
   }
}

$stmt->execute();

lees hier voor uw ajax-verzoek:Dien een formulier in met jQuery

in uw ajax-verzoek de regelindeling wijzigen van:data: {firstpara: para1, secondpara: para2 ,thirdpara: para3}

todata: {age: para1, maritalstatus: para2 ,gender: para3},




  1. SQL:ontleden de voor-, middelste en achternaam uit een veld met volledige naam

  2. Hoe worden gelijktijdige zoekopdrachten afgehandeld in een MySQL-database?

  3. Vergelijking van twee db-ontwerpen voor interne berichten

  4. SQL ROWNUM hoe rijen tussen een specifiek bereik te retourneren