sql >> Database >  >> RDS >> Mysql

Fouten die verschijnen in mysqli-code en call_user_func_array()

Dit is een lastige situatie die wordt veroorzaakt door het wijzigen van call_user_func_array gedrag in PHP 5.4 (ik moet aannemen): Documentatie

Hoe lelijk dit ook is, het zal werken om bind_param . aan te roepen op deze manier:

$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]);
}

Ik haat dit net zo erg als jij waarschijnlijk doet. Ik raad aan om over te schakelen van mysqli naar PDO die variabele parameters op een veel leukere manier afhandelt (en naar mijn mening over het algemeen een superieure syntaxis heeft):

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


  1. MySQL-zelfstudie:MySQL IN-instructie (geavanceerd)

  2. Hoe to_char() werkt in PostgreSQL

  3. Hoe u door alle tabellen in een database kunt lopen om kolommen bij te werken?

  4. Oracle JDeveloper 12c gebruiken met Oracle Database 12c op Oracle Cloud Platform, deel 3