• ベストアンサー

カラムの暗号化

MySQL4で暗号化を試みています。PHP4と組み合わせです。 他のテーブルでKEYを取り出してそのKEYを用いて暗号化したいです。 update文中で $sql.= " vmem_card_no= '". AES_ENCRYPT(trim($line[108]),$key). "',"; としています。どこかおかしいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

AES_ENCRYPTはmysqlの関数です。 $sql.= " vmem_card_no= '". AES_ENCRYPT(trim($line[108]),$key). "',"; という書き方だと、mysqlではなくPHPが関数として実行してしまいます。PHPにはそのような組込み関数が無いので、エラーになります。 なので、 $sql.= " vmem_card_no=AES_ENCRYPT('". $foo. "','". $key. "'),"; のように書く必要があります。 なお、PHPにはmcrypt関数という暗号化関数があるので、それを使う手もあります。

関連するQ&A