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

質問編集履歴

3

[]

2019/02/20 13:57

投稿

watoson
watoson

スコア15

title CHANGED
File without changes
body CHANGED
@@ -23,7 +23,7 @@
23
23
  $pass3=$_POST['pass3'];
24
24
  $timed=date('Y/n/d H:i:s');
25
25
  //データベース接続
26
- $dsn='******';
26
+ $dsn='*****';
27
27
  $user='******';
28
28
  $password='********';
29
29
  $pdo=new PDO($dsn,$user,$password,array(PDO::ATTR_ERRMODE=>

2

hennkou

2019/02/20 13:57

投稿

watoson
watoson

スコア15

title CHANGED
File without changes
body CHANGED
@@ -24,8 +24,8 @@
24
24
  $timed=date('Y/n/d H:i:s');
25
25
  //データベース接続
26
26
  $dsn='******';
27
- $user='xxxx';
27
+ $user='******';
28
- $password='xxxx';
28
+ $password='********';
29
29
  $pdo=new PDO($dsn,$user,$password,array(PDO::ATTR_ERRMODE=>
30
30
  PDO::ERRMODE_WARNING));
31
31
 

1

追記依頼ありがとうございます。phpのコードを全文に貼りなおしました。

2019/02/14 06:04

投稿

watoson
watoson

スコア15

title CHANGED
File without changes
body CHANGED
@@ -12,6 +12,53 @@
12
12
  ### 該当のソースコード
13
13
 
14
14
  ```ここに言語名を入力
15
+ <?php
16
+ $named=$_POST['content'];
17
+ $commented=$_POST['content2'];
18
+ $deleted=$_POST['number'];
19
+ $edited=$_POST['edit'];
20
+ $editnumber=$_POST['content3'];
21
+ $passed=$_POST['pass'];
22
+ $pass2=$_POST['pass2'];
23
+ $pass3=$_POST['pass3'];
24
+ $timed=date('Y/n/d H:i:s');
25
+ //データベース接続
26
+ $dsn='******';
27
+ $user='xxxx';
28
+ $password='xxxx';
29
+ $pdo=new PDO($dsn,$user,$password,array(PDO::ATTR_ERRMODE=>
30
+ PDO::ERRMODE_WARNING));
31
+
32
+ //テーブル作成
33
+ $sql="CREATE TABLE IF NOT EXISTS mission_4_1"
34
+ ."("
35
+ ."id INT auto_increment,"
36
+ ."name char(32),"
37
+ ."comment TEXT,"
38
+ ."time DATETIME,"
39
+ ."pass INT,"
40
+ ."primary key(id)"
41
+ .");";
42
+ $stmt=$pdo->query($sql);
43
+
44
+ //テーブル作成確認
45
+ $sql1='SHOW TABLES';
46
+ $result=$pdo->query($sql1);
47
+ foreach($result as $row){
48
+ echo $row[0];
49
+ echo'<br>';
50
+ }
51
+ echo"<hr>";
52
+
53
+ //テーブル 中身 確認
54
+ $sql2='SHOW CREATE TABLE mission_4_1';
55
+ $result=$pdo->query($sql2);
56
+ foreach($result as $row1){
57
+ echo $row1[1];
58
+ }
59
+ echo"<hr>";
60
+
61
+
15
62
  $sql3=$pdo->prepare("INSERT INTO mission_4_1(id,name,comment,time,pass) VALUES(:id,:name,:comment,:time,:pass)");
16
63
  $sql3->bindParam(':name',$name,PDO::PARAM_STR);
17
64
  $sql3->bindParam(':comment',$comment,PDO::PARAM_STR);
@@ -23,14 +70,66 @@
23
70
  $comment=$commented;
24
71
  $time=$timed;
25
72
  $pass=$passed;
26
- $sql3 -> execute();
73
+ 59行目 $sql3 -> execute();
74
+
27
75
 
76
+ if(!empty($pass3)){
77
+ $sql7="SELECT*FROM mission_4_1 WHERE id=$edited";
78
+ $stmt=$pdo->query($sql7);
79
+ foreach($stmt as $row){
80
+ if($row['id']==$edited and $row['pass']==$pass3){
81
+
82
+ $id="$edited";
83
+ $name="$named";
84
+ $comment="$commented";
85
+ $sql4='update mission_4_1 set name=:name,comment=:comment where id=:id';
86
+ $stmt=$pdo->prepare($sql4);
87
+ $stmt->bindParam(':name',$name,PDO::PARAM_STR);
88
+ $stmt->bindParam(':comment',$comment,PDO::PARAM_STR);
89
+ $stmt->bindParam(':id',$id,PDO::PARAM_INT);
90
+ $stmt->execute();
91
+ }
92
+ }
93
+ }
94
+ elseif(!empty($pass2)){
95
+ $sql8="SELECT*FROM mission_4_1 WHERE id=$deleted";
96
+ $stmt=$pdo->query($sql8);
97
+ foreach($stmt as $row){
98
+ if($row['id']==$deleted){
99
+
100
+ $id="$deleted";
101
+ $sql5='delete from mission_4_1 where id=:id';
102
+ $stmt=$pdo->prepare($sql5);
103
+ $stmt->bindParam(':id',$id,PDO::PARAM_INT);
104
+ $stmt->execute();
105
+ }
106
+ }
107
+ }
108
+
109
+
110
+
111
+ $sql6='SELECT*FROM mission_4_1';
112
+ $stmt=$pdo->query($sql6);
113
+ $results=$stmt->fetchAll();
114
+ foreach($results as $row2){
115
+ //$rowの中にはテーブルのカラム名が入る
116
+ echo $row2['id'].',';
117
+ echo $row2['name'].',';
118
+ echo $row2['comment'].',';
119
+ echo $row2['time'].'<br>';
120
+ }
121
+ ?>
122
+
123
+
124
+
28
125
  ```
29
126
 
30
127
  ### 試したこと
31
128
 
32
129
  bindParamやbindValueに問題があるのだろうかと思って調べてみたのですが解決策は分かりませんでした。
130
+ 調べたことはエラーで検索をかけてみる、bindValue、bindParamの使い方など基本的なことを調べました。
33
131
 
132
+
34
133
  ### 補足情報(FW/ツールのバージョンなど)
35
134
 
36
135
  ここにより詳細な情報を記載してください。