1
私はいくつかの類似したSQL文を持っています。パラメータの型は呼び出しごとに異なるので、これらを変数として渡したいと思います。mysqliの変数の使用bind_param
$stmt->bind_param($typeString, $parameter1, $parameter1);
ここで、$ typeStringは 'ss'または 'is'または 'ds'に設定できます。
エラーが発生するタイプ定義文字列の要素数がバインド変数の数と一致しません。
私は(例えば)
$typeString = "is";
$typeString = "\'".$typeString."\'";
$stmt->bind_param($typeString, $parameter1, $parameter1);
そして
$typeString = "is";
$stmt->bind_param($typeString, $parameter1, $parameter1);
を試してみました。しかし、まだエラーを取得しています。
これを変数で設定することはできますか?
SQL文はどこですか?変数を二度束縛しないで '$ parameter1'を二度使います。 – JustOnUnderMillions
あなたは一度だけバインドするだけです:http://stackoverflow.com/questions/15748254/how-to-run-the-bind-param-statement-in-php#15748384その後、パラメータ変数を補充してもう一度実行してください。また、可能であれば、常にparam typに 's'を使用してください。 – JustOnUnderMillions
類似した(しかし同じではない)SQL文の数は2です。したがって、2つのSQL文がある場合は、2つのmysqli stmtオブジェクト(各stmtのもの)もあります。だからここで何も混乱してはいけません。 – JustOnUnderMillions