質問するログイン新規登録

回答編集履歴

6

間違いの修正

2016/02/06 15:42

投稿

hirohiro
hirohiro

スコア2068

answer CHANGED
@@ -1,11 +1,6 @@
1
- ※bindParambindColumnを見間違えてコメントしていまたの、大幅に書き換えまた。
1
+ ひょっとしてfpassthru();にバイナリを直接流込んだからはないでょうか?
2
+ [phpマニュアルのページ](http://php.net/manual/ja/function.fpassthru.php)
3
+ >>fpassthru — ファイルポインタ上に残っているすべてのデータを出力する
4
+ $datはファイルポインタではなくて、恐らくデータそのもの?
2
5
 
3
- ちょっと自信はないのですが「$stmt->fetch(PDO::FETCH_BOUND);」でfetchした結果を受けたオブジェクトを使えていないからでは?
4
- SQL抽出結果が複数あるbindclumnの例だとこんな雰囲気のコード例がありますが、1件だけだと質問者さんの書き方でも大丈夫なのでしょうか?
5
- ```php
6
- while ($row = $stmt->fetch(PDO::FETCH_BOUND)) {
7
- header("Content-Type: ".$typ);
8
- fpassthru($dat);
9
- }
10
- ```
11
- 後、エラーには直接関係ないかもしれませんが、Content-Typeの指定、「"Content-Type: $typ"」では$typが文字のまま出てしまいそうです。
6
+ 後、エラーには直接関係ないかもしれませんが、Content-Typeの指定、「"Content-Type: $typ"」では$typが文字のまま出てしまいそうです。

5

誤字修正

2016/02/06 15:42

投稿

hirohiro
hirohiro

スコア2068

answer CHANGED
@@ -1,4 +1,4 @@
1
- ※bindParamとbindClumnを見間違えてコメントしていましたので、大幅に書き換えました。
1
+ ※bindParamとbindColumnを見間違えてコメントしていましたので、大幅に書き換えました。
2
2
 
3
3
  ちょっと自信はないのですが「$stmt->fetch(PDO::FETCH_BOUND);」でfetchした結果を受けたオブジェクトを使えていないからでは?
4
4
  SQL抽出結果が複数あるbindclumnの例だとこんな雰囲気のコード例がありますが、1件だけだと質問者さんの書き方でも大丈夫なのでしょうか?

4

修正

2016/02/06 15:31

投稿

hirohiro
hirohiro

スコア2068

answer CHANGED
@@ -1,11 +1,11 @@
1
- bindParamとbindClumnを見間違えていたので修正中
1
+ bindParamとbindClumnを見間違えてコメントしてましたので、大幅に書き換えました。
2
2
 
3
+ ちょっと自信はないのですが「$stmt->fetch(PDO::FETCH_BOUND);」でfetchした結果を受けたオブジェクトを使えていないからでは?
3
- 「show_image.php」で、「fpassthru($dat);」していますが、$datはSQL作成のバインドパラメータでも利用されています。
4
+ SQL抽出結果が複数あるbindclumnの例だこんな雰囲気のコード例がありますが、1件だけだと質問者さん書き方でも大丈夫なのでしょうか?
4
- 恐らくファイル名かID(つまりただの文字列)じゃないでしょうか?
5
-
6
5
  ```php
7
- $img = $stmt->fetch(PDO::FETCH_BOUND);
6
+ while ($row = $stmt->fetch(PDO::FETCH_BOUND)) {
8
- header("Content-Type: ".$img->type);
7
+ header("Content-Type: ".$typ);
9
- fpassthru($img->imgdat);
8
+ fpassthru($dat);
9
+ }
10
10
  ```
11
- ちょっと自信ありませんが、こんな雰囲気コードになるのでは
11
+ 後、エラーには直接関係ないかもしれませんが、Content-Type指定も、「"Content-Type: $typ"」では$typが文字のまま出てしまいそうです。

3

追記

2016/02/06 15:28

投稿

hirohiro
hirohiro

スコア2068

answer CHANGED
@@ -1,3 +1,5 @@
1
+ bindParamとbindClumnを見間違えていたので修正中
2
+
1
3
  「show_image.php」で、「fpassthru($dat);」としていますが、この$datはSQL作成のバインドパラメータでも利用されています。
2
4
  恐らくファイル名かID(つまりただの文字列)じゃないでしょうか?
3
5
 

2

コード修正

2016/02/06 15:19

投稿

hirohiro
hirohiro

スコア2068

answer CHANGED
@@ -1,5 +1,5 @@
1
- 「show_image.php」で、「fpassthru($dat);」としていますが、この$datはSQL作成の際のパラメータでも利用されています。
1
+ 「show_image.php」で、「fpassthru($dat);」としていますが、この$datはSQL作成のバインドパラメータでも利用されています。
2
- 恐らくファイル名かIDじゃないでしょうか?
2
+ 恐らくファイル名かID(つまりただの文字列)じゃないでしょうか?
3
3
 
4
4
  ```php
5
5
  $img = $stmt->fetch(PDO::FETCH_BOUND);

1

コード修正

2016/02/06 15:10

投稿

hirohiro
hirohiro

スコア2068

answer CHANGED
@@ -3,6 +3,7 @@
3
3
 
4
4
  ```php
5
5
  $img = $stmt->fetch(PDO::FETCH_BOUND);
6
+ header("Content-Type: ".$img->type);
6
7
  fpassthru($img->imgdat);
7
8
  ```
8
9
  ちょっと自信ありませんが、こんな雰囲気のコードになるのでは?