ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3631382 insert処理でDATE型を追加したい
質問者:wee 環境はxp、apache2、php5、Postgresql8.2です。
1台のPCをサーバ&クライアントにしています。
ただ今PHPとPostgresqlの勉強をしています。

いつも質問に答えてくれてありがとうございます。

以下のようなテーブルに
insert処理でデータを追加したいと思っています。

−−−−−−−−−−−−−−−−−−−−−−−−−−−
CREATE TABLE m_lecturehistory
(
lecturecode text,
lecturedate date,



−−−−−−−−−−−−−−−−−−−−−−−−−−−

$sql = "insert into m_lecturehistory (lecturecode, lecturedate )
values ('{$line[0]}','2008/1/1');";
このようにしてinsert処理をすれば正常に追加できます。

ただ、以下のようにして
変数からDATE型に追加しようとするとエラーになります。

−−−−−−−−−−−−−−−−−−−−−−−−−−−
$line[1] = "2008/1/1";
$sql = "insert into m_lecturehistory (lecturecode, lecturedate )
values ('{$line[0]}',"{$line[1]}");";

対処方法をご存じでしたら、
ご教示して頂けたら幸いです。
困り度:
  • 困っています
質問投稿日時:
07/12/27 14:18
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.1 $sql = "insert into m_lecturehistory (lecturecode, lecturedate )
values ('{$line[0]}',"{$line[1]}");";

なぜ、直接入力した場合に、日付を 「'」でかこったのに
変数に代入したときには 「"」でかこったのでしょう
'{$line[0]}' の部分と同じ感覚でSQL文つくればいいだけです

$sql = "insert into m_lecturehistory (lecturecode, lecturedate )
values ('{$line[0]}','{$line[1]}');";

つまりこうするだけ
回答者:inu2
種類:回答
どんな人:一般人
自信:参考意見
回答日時:
07/12/27 14:38
この回答への補足こんにちは。
ご返事有り難うございました。

こちらに転記する時に
間違えて「"」でかこってしまいました。
プログラムは
values ('{$line[0]}','{$line[1]}');";
としてあるのですが
構文エラーになってしまいます。

ご教示して頂けたら幸いです。
この回答へのお礼この回答にお礼をつける(質問者のみ)