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

回答編集履歴

3

フォルダー権限書きミス

2017/10/24 12:27

投稿

nnahito
nnahito

スコア2006

answer CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  ![イメージ説明](1c1ca0f709eaf9b4c7535193af2b7cc8.png)
5
5
 
6
- また、フォルダーの権限は0755以上でしょうか?
6
+ また、フォルダーの権限は0766以上でしょうか?
7
7
  そちらもご確認ください。
8
8
 
9
9
  ---

2

配列の指定を、PHP5では使えない書き方をしていたのでそれを修正

2017/10/24 12:27

投稿

nnahito
nnahito

スコア2006

answer CHANGED
@@ -27,13 +27,13 @@
27
27
  ';
28
28
 
29
29
  # プレースホルダーに渡す値を指定
30
- $data = [
30
+ $data = array(
31
31
  'comment1' => $comment1
32
32
  , 'comment2' => $comment2
33
33
  , 'comment3' => $comment3
34
34
  , 'comment4' => $comment4
35
35
  , 'TimeStamp' => $now
36
- ];
36
+ );
37
37
 
38
38
  # プリペアステートメント(SQL文の設定的なやつ。文字列から)
39
39
  $stmt = $pdo->prepare($sql);

1

蛇足追加

2017/10/24 12:19

投稿

nnahito
nnahito

スコア2006

answer CHANGED
@@ -4,4 +4,41 @@
4
4
  ![イメージ説明](1c1ca0f709eaf9b4c7535193af2b7cc8.png)
5
5
 
6
6
  また、フォルダーの権限は0755以上でしょうか?
7
- そちらもご確認ください。
7
+ そちらもご確認ください。
8
+
9
+ ---
10
+
11
+ ちなみに私は、さくらのレンタルサーバライトプランでSQLiteを使用しておりますが、問題なく書き込めます。(SQLiteクラスは使っていませんが)
12
+
13
+ PDOを使うと安全性もあり、私の環境では動作しているので、参考までに。
14
+
15
+ ```PHP
16
+ # データベースへ接続するモデルのインスタンス化
17
+ $pdo = new PDO('sqlite:データベースのファイル名', '', '');
18
+
19
+ # 常にFETCH_ASSOC(SQLiteはfetch結果の配列に、通し番号を含めてくるのでそれを排除。この処理はしなくても良い)
20
+ $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
21
+
22
+ # SQL文の準備(「:文字列」はプレースホルダーと呼ばれるもの。ここに値をあとで代入する。SQLインジェクション対策とかになる)
23
+ $sql = 'INSERT INTO testtable
24
+ (com1, com2, com3, com4, TimeStamp)
25
+ VALUES
26
+ (:comment1, :comment2, :comment3, :comment4, :TimeStamp)
27
+ ';
28
+
29
+ # プレースホルダーに渡す値を指定
30
+ $data = [
31
+ 'comment1' => $comment1
32
+ , 'comment2' => $comment2
33
+ , 'comment3' => $comment3
34
+ , 'comment4' => $comment4
35
+ , 'TimeStamp' => $now
36
+ ];
37
+
38
+ # プリペアステートメント(SQL文の設定的なやつ。文字列から)
39
+ $stmt = $pdo->prepare($sql);
40
+
41
+ # プレースホルダーに値を渡し、SQLを実行
42
+ $stmt->execute($data);
43
+
44
+ ````