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

Chyby objevující se v kódu mysqli a call_user_func_array()

Toto je složitá situace, která je způsobena změnou parametru call_user_func_array chování v PHP 5.4 (musím předpokládat): Dokumentace

Jakkoli je to ošklivé, bude fungovat volání bind_param tímto způsobem:

$selectedstudentanswerqry .= ' WHERE ' . implode(' AND ', $where);
global $mysqli;
$stmt =$mysqli->prepare($selectedstudentanswerqry);

if (count($where) === 1) {
    $stmt->bind_param($parameterTypes, $parameters[0]);
}
else if (count($where) === 2) {
    $stmt->bind_param($parameterTypes, $parameters[0], $parameters[1]);
}
else if (count($where) === 3) {
    $stmt->bind_param($parameterTypes, $parameters[0], $parameters[1],
       $parameters[2]);
}

Nesnáším to stejně jako ty. Navrhuji přejít z mysqli na PDO který zachází s proměnnými parametry mnohem hezčím způsobem (a má obecně lepší syntaxi, podle mého názoru):

$pdo = new PDO('mysql:host=localhost', 'username', 'password');
$stmt = $pdo->prepare($selectedstudentanswerqry);
$stmt->execute($parameters);
$selectedstudentanswernum = $stmt->rowCount();


  1. Jak napsat aplikaci .Net, která funguje se SqlServerem i Oracle (nyní, když je System.Data.OracleClient zastaralý)

  2. Jak mohu odstranit duplicitní řádky v tabulce

  3. Vytvoření sekvence PostgreSQL do pole (které není ID záznamu)

  4. Jak psát velké první písmeno každého slova v PostgreSQL