sql >> Databáze >  >> RDS >> Mysql

Vytvořte pole pro PDO z proměnných předaných z jquery

Nejsem si jistý, jestli jsem váš problém pochopil správně, ale můžete to zkusit (nebo napište komentář, pokud jsem to udělal špatně).

Nahraďte tento fragment:

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

$stmt->execute($data);

s tímto:

$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();

pro vaši žádost ajax si přečtěte zde:Odeslat formulář pomocí jQuery

ve vašem požadavku ajax změňte formát řádku z:data: {firstpara: para1, secondpara: para2 ,thirdpara: para3}

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




  1. Je MS-SQL AND/OR podmíněné (provést vyhodnocení zkratu)?

  2. Umožňuje MySQL zpětná volání v C tak, že když dojde ke změně, mohu být informován?

  3. Aktualizace celé tabulky MySQL 17,6 m řádků (1,2 gb) je příliš pomalá

  4. Je v MySQL dostupný příkaz merge