PHPでかなり新しいです。古いPHPアプリケーションでパラメータを使用して簡単なクエリを定義しようとすると、次の問題が発生します。私は(他の誰かによって作られた、このアプリケーションでは、他の作業のクエリを模倣する)、このように行っている:この古いPHPアプリケーションでパラメータを使用してクエリを定義しようとすると、このエラーが発生するのはなぜですか? (致命的なエラー:パラメータ2を参照で渡すことはできません...)
$result_facility_list = $db->prepare("select name from pm_facility where lang = :id_lang");
$result_hotel_file->bindParam(":id_lang", 2);
その後
を問題は、それが結合二行目を実行しようとするということですに整数値2:パラメータをid_lang私は、このエラーメッセージを得る:
(!) Fatal error: Cannot pass parameter 2 by reference in C:\xampp\htdocs\BeTrivius-Panda\templates\default\models\booking.php on line 534
Call Stack
# Time Memory Function Location
1 0.0326 165272 {main}() ..\index.php:0
2 8.2043 835656 include('C:\xampp\htdocs\BeTrivius-Panda\templates\default\models\booking.php') ..\index.php:146
問題がある可能性がありますか?私は何が欠けていますか?この問題を解決するにはどうすればよいですか?
$id=2;
$result_hotel_file->bindParam(":id_lang", $id);
へ
$ result_hotel_file-> bindParam( ":id_lang"、2);この行を$ id = 2; $ result_hotel_file-> bindParam( ":id_lang"、$ id)に変更します。 –
パラメータは、直接値ではなく変数として渡す必要があります。 –
RTM http://php.net/manual/en/pdostatement.bindparam.phpあなたはMySQL/PDOの初心者です。 –