カスタムPDO関数を使用する場合、バインドされた変数の数がトークンの数と一致しません

IRGeekSauce

似たようなタイトルの質問を試しましたが、それらはすべて関数内にない通常のクエリです。

データベースクラスで更新関数を作成しようとしているので、プロセス全体を何度も書き出す必要はありません。ただし、次のエラーが発生します。

Invalid parameter number: number of bound variables does not match number of tokens 

これが私の機能です。

 public function updateRow($query, $params) {
    try {
        $stmt = $this->master_db_data->prepare($query);
        foreach($params as $key => $val) {
            $stmt->bindValue($key+1, $val);
            $stmt->execute();
            return true;
        }
    } catch(PDOException $e) {
        die("Error: " . $e->getMessage());
    }
}

そしてその使用法:

$query = "UPDATE records SET content=?, ttl=?, prio=?, change_date=? WHERE id=?";
$params = array($SOA_content, $fields['SOA_TTL'], '1', $DATE_TIME, $id);
if($db->updateRow($query, $params)) {
    echo "Success";
}
else {
    echo "Fail";
}

関数なしでそれを行うことは機能します:

$pdo = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8", $username, $password, $options);
$query = "UPDATE records SET content=:content, ttl=:ttl, prio=:prio, change_date=:change_date WHERE id=:id";
$stmt = $pdo->prepare($query);
$stmt->bindValue(":content", $SOA_content);
$stmt->bindValue(":ttl", $fields['SOA_TTL']);
$stmt->bindValue(":prio", 1);
$stmt->bindValue(":change_date", $DATE_TIME);
$stmt->bindValue(":id", $id);
$stmt->execute();

関数のbindValueに問題がありますか?もしそうなら、どのように?

ウエルド

すべてのバインディングが実行された後、必ず実行呼び出しが行われるようにしてください。この状況では、実行をバインディングループの外に移動します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PDOエラー:無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません

分類Dev

無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しませんPDO挿入

分類Dev

バインドされた変数の数がトークンの数と一致しません-MySQl

分類Dev

MySQL-バインドされた変数の数がトークンの数と一致しません

分類Dev

「バインドされた変数の数がトークンの数と一致しません」-しかし、一致します

分類Dev

Yii2select2データベースのバインドされた変数の例外数がトークンの数と一致しません

分類Dev

PDOエラーコードHY093ですが、バインドされた変数の数がトークンの数と一致します

分類Dev

MySql無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません

分類Dev

無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません

分類Dev

無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません。一致する必要があります

分類Dev

エラーの解決方法:std :: bindがクラスで使用されている場合、「 'bind(<未解決のオーバーロードされた関数タイプ>」を呼び出すための一致する関数がありません」

分類Dev

エラー:バインドされた変数の数がトークンの数と一致しません

分類Dev

SQLSTATE [HY093]:無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません...しかし、一致しますか?

分類Dev

symfony2 + doctrine:ʻonFlush`の子エンティティを変更します: "無効なパラメータ番号:バインドされた変数の数がトークンの数と一致しません"

分類Dev

複数のネストされたホスト変数を使用する場合は、単一のカスタムホストインベントリ変数に一致します

分類Dev

エラーPDO挿入:SQLSTATE [HY093]:無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません

分類Dev

教義: バインドされた変数の数がトークンの数と一致しない

分類Dev

スタックされた無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません

分類Dev

推論ガイドと可変個引数テンプレートコンストラクターを使用した可変個引数クラステンプレート-引数パックの長さが一致していません

分類Dev

動的パラメータを使用した動的選択mysqliクエリがエラーを返し、バインド変数の数と一致しません

分類Dev

getline()で問題が発生するのはなぜですか?「オーバーロードされた関数のインスタンスが引数リストに一致しません」および「データがあいまいです」

分類Dev

オーバーロードされた関数「std :: make_unique」のインスタンスは引数リストに一致しませんが、unique_ptrコンストラクターで機能します

分類Dev

SQLSTATE [HY093]:無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません-ヘルプが必要です

分類Dev

無効なパラメーター番号:バインドされた変数の数が、PHPのデータベースに存在する数と一致しません

分類Dev

マップ内のc ++構造体を値として-エラー「オーバーロードされた関数のインスタンスが引数リストに一致しません」

分類Dev

SwiftUI-ピッカーにバインドされた変数がピッカーの選択された値と一致しません

分類Dev

キャッチされなかったPDOException:SQLSTATE [HY093]:無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません

分類Dev

警告:PDOStatement :: execute():SQLSTATE [HY093]:無効なパラメーター番号:バインドされた変数の数が番号と一致しません

分類Dev

'PDOException':メッセージ 'SQLSTATE [HY093]の無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません'

Related 関連記事

  1. 1

    PDOエラー:無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません

  2. 2

    無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しませんPDO挿入

  3. 3

    バインドされた変数の数がトークンの数と一致しません-MySQl

  4. 4

    MySQL-バインドされた変数の数がトークンの数と一致しません

  5. 5

    「バインドされた変数の数がトークンの数と一致しません」-しかし、一致します

  6. 6

    Yii2select2データベースのバインドされた変数の例外数がトークンの数と一致しません

  7. 7

    PDOエラーコードHY093ですが、バインドされた変数の数がトークンの数と一致します

  8. 8

    MySql無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません

  9. 9

    無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません

  10. 10

    無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません。一致する必要があります

  11. 11

    エラーの解決方法:std :: bindがクラスで使用されている場合、「 'bind(<未解決のオーバーロードされた関数タイプ>」を呼び出すための一致する関数がありません」

  12. 12

    エラー:バインドされた変数の数がトークンの数と一致しません

  13. 13

    SQLSTATE [HY093]:無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません...しかし、一致しますか?

  14. 14

    symfony2 + doctrine:ʻonFlush`の子エンティティを変更します: "無効なパラメータ番号:バインドされた変数の数がトークンの数と一致しません"

  15. 15

    複数のネストされたホスト変数を使用する場合は、単一のカスタムホストインベントリ変数に一致します

  16. 16

    エラーPDO挿入:SQLSTATE [HY093]:無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません

  17. 17

    教義: バインドされた変数の数がトークンの数と一致しない

  18. 18

    スタックされた無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません

  19. 19

    推論ガイドと可変個引数テンプレートコンストラクターを使用した可変個引数クラステンプレート-引数パックの長さが一致していません

  20. 20

    動的パラメータを使用した動的選択mysqliクエリがエラーを返し、バインド変数の数と一致しません

  21. 21

    getline()で問題が発生するのはなぜですか?「オーバーロードされた関数のインスタンスが引数リストに一致しません」および「データがあいまいです」

  22. 22

    オーバーロードされた関数「std :: make_unique」のインスタンスは引数リストに一致しませんが、unique_ptrコンストラクターで機能します

  23. 23

    SQLSTATE [HY093]:無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません-ヘルプが必要です

  24. 24

    無効なパラメーター番号:バインドされた変数の数が、PHPのデータベースに存在する数と一致しません

  25. 25

    マップ内のc ++構造体を値として-エラー「オーバーロードされた関数のインスタンスが引数リストに一致しません」

  26. 26

    SwiftUI-ピッカーにバインドされた変数がピッカーの選択された値と一致しません

  27. 27

    キャッチされなかったPDOException:SQLSTATE [HY093]:無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません

  28. 28

    警告:PDOStatement :: execute():SQLSTATE [HY093]:無効なパラメーター番号:バインドされた変数の数が番号と一致しません

  29. 29

    'PDOException':メッセージ 'SQLSTATE [HY093]の無効なパラメーター番号:バインドされた変数の数がトークンの数と一致しません'

ホットタグ

アーカイブ