DBにインサートしようとしたらGot error ‘PHP message: PHP Fatal error: Cannot pass parameter

やりたいこと

PHPとPDOを使ってMYSQLデータベースに接続して値をインサートする

インサートできない

Got error 'PHP message: PHP Fatal error:  Cannot pass parameter

実装

try {
$pdo = new PDO('mysql:host=localhost;dbname=db_name', 'user_name', ' password',
array(PDO::ATTR_EMULATE_PREPARES => false));
echo "db接続成功";
} catch (PDOException $e) {
 exit('データベース接続失敗。'.$e->getMessage());
}

$a = "a";
$b = "b";
$c = "c";

$stmt = $pdo -> prepare("INSERT INTO data (table_name, username, mail) VALUES (:table_name, :username, :mail)");
$stmt->bindParam(':table_name', $a, PDO::PARAM_STR);
$stmt->bindParam(':username', $b, PDO::PARAM_STR);
$stmt->bindParam(':mail', $c, PDO::PARAM_STR);
$stmt->execute();

echo "インサート完了";

原因

bindParamに直接値を入れていた。変数にすればできる。

参照

bindParam() に直接値を入れたらダメ