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

回答編集履歴

3

追記

2018/03/08 05:35

投稿

yambejp
yambejp

スコア117921

answer CHANGED
@@ -13,4 +13,32 @@
13
13
  $stmt = $pdo->prepare($sql);
14
14
  $stmt->execute([$name,$genre,$url,$id]);
15
15
  }
16
+ ```
17
+
18
+ # 追記
19
+ 念のためちゃんとかくと、pdoを使うときには必ずtry~catchでやるのが原則です
20
+
21
+ ```PHP
22
+
23
+ try{
24
+ $dsn = 'mysql:host=localhost; dbname=mydb;charset=utf8;';
25
+ $user = 'myuser';
26
+ $password = 'mypassword';
27
+ $pdo = new PDO($dsn, $user,$password);
28
+ $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
29
+ $pdo->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND,'SET NAMES utf8');
30
+ $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);//updateのときは意味ない
31
+ $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
32
+ if(!is_null($id)){
33
+ $sql='update client set name=?,genre=?,url=? where id=?';
34
+ $data=[$name,$genre,$url,$id];
35
+ $stmt = $pdo->prepare($sql);
36
+ $stmt->execute();
37
+ $sql="SELECT * FROM tbl ORDER BY l";
38
+ $stmt = $pdo->prepare($sql);
39
+ $stmt->execute($data);
40
+ }
41
+ }catch(PDOException $e){
42
+ die($e->getMessage());
43
+ }
16
44
  ```

2

typo

2018/03/08 05:35

投稿

yambejp
yambejp

スコア117921

answer CHANGED
File without changes

1

typo

2018/03/08 04:10

投稿

yambejp
yambejp

スコア117921

answer CHANGED
@@ -11,6 +11,6 @@
11
11
  if(!is_null($id)){
12
12
  $sql='update client set name=?,genre=?,url=? where id=?';
13
13
  $stmt = $pdo->prepare($sql);
14
- $stmt->execute([$name,$genre,$url,$id]));
14
+ $stmt->execute([$name,$genre,$url,$id]);
15
15
  }
16
16
  ```