sql >> データベース >  >> RDS >> Mysql

mysqliコードとcall_user_func_array()に表示されるエラー

    これは、call_user_func_arrayの変更によって引き起こされる厄介な状況です。 PHP 5.4での動作(想定する必要があります):ドキュメント

    これは醜いですが、bind_paramを呼び出すと機能します このように:

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

    私はあなたがおそらくそうするのと同じくらいこれを嫌います。 mysqliから切り替えることをお勧めします PDOへ これは、変数パラメーターをより適切に処理します(そして、私の意見では、一般的に優れた構文を持っています):

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


    1. PostgreSQLで昨日の日付を取得する方法

    2. シーケンス値を1にリセット

    3. お気に入りのパフォーマンスチューニングのトリック

    4. PythonがSSHトンネリングを介してMySQLに接続できるようにする