PHP

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

2018年2月6日

0
0

 

やりたいこと

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() に直接値を入れたらダメ

Pocket
LinkedIn にシェア

りょすけ
毎月3万人以上のプログラマーが訪れるoff.tokyoで、プログラマーさん向けのアンケートを実施しています、アンケートに無料回答すると、他の人の投票も見ることが出来ます!

学びたいプログラミング言語は何ですか?

 vaaaval@gmail.com



  • この記事を書いた人
  • 最新記事

藤沢瞭介(Ryosuke Hujisawa)

りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

-PHP

Copyright© off.tokyo , 2021 All Rights Reserved Powered by AFFINGER5.