質問編集履歴
3
PDO修正 namespace削除
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
宜しくお願いします。
|
7
7
|
|
8
8
|
```
|
9
|
-
|
9
|
+
invalid data source name
|
10
10
|
```
|
11
11
|
|
12
12
|
### config.php
|
@@ -27,7 +27,7 @@
|
|
27
27
|
public function __construct() {
|
28
28
|
|
29
29
|
try {//エラーを検知したい処理
|
30
|
-
$this->$db = new PDO(database_user,database_password);
|
30
|
+
$this->$db = new \PDO(database_user,database_password);
|
31
31
|
|
32
32
|
//setAttributeでエラーの属性を追加SQLのエラーメッセージを見れるようにする
|
33
33
|
$this->$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
|
@@ -57,7 +57,7 @@
|
|
57
57
|
require_once('Todo.php');
|
58
58
|
|
59
59
|
//新しくクラスを作る
|
60
|
-
$todoApp = new
|
60
|
+
$todoApp = new Todo();
|
61
61
|
|
62
62
|
//TodoクラスのgetAll関数
|
63
63
|
$todos = $todoApp->getAll();
|
2
ファイル修正,つづり変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
### config.php
|
13
13
|
```php
|
14
14
|
<?php
|
15
|
-
define('
|
15
|
+
define('database_name','dotinstall_todo_app');
|
16
16
|
define('database_user','dbuser');
|
17
17
|
define('database_password','$wataru');
|
18
18
|
define('database_host','localhost');;
|
@@ -21,49 +21,31 @@
|
|
21
21
|
##Todo.php
|
22
22
|
```php
|
23
23
|
<?php
|
24
|
+
class Todo{
|
25
|
+
private $db;
|
24
26
|
|
25
|
-
|
27
|
+
public function __construct() {
|
26
|
-
require_once('function.php');
|
27
|
-
require_once('Todo.php');
|
28
28
|
|
29
|
-
//
|
29
|
+
try {//エラーを検知したい処理
|
30
|
-
$
|
30
|
+
$this->$db = new PDO(database_user,database_password);
|
31
31
|
|
32
|
-
//
|
32
|
+
//setAttributeでエラーの属性を追加SQLのエラーメッセージを見れるようにする
|
33
|
-
$
|
33
|
+
$this->$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
|
34
34
|
|
35
|
+
}catch (PDOException $e){//エラーが実際起こった時の処理
|
36
|
+
//PDOExceptionは接続に失敗した場合などに投げられる例外処理
|
35
|
-
|
37
|
+
echo $e->getMessage();
|
36
38
|
exit;
|
39
|
+
}
|
40
|
+
}
|
37
41
|
|
38
|
-
?>
|
39
|
-
<!DOCTYPE html>
|
40
|
-
<html lang="ja">
|
41
|
-
<head>
|
42
|
-
<meta charset="utf-8">
|
43
|
-
<title>My Todos</title>
|
44
|
-
<link rel="stylesheet" href="style.css">
|
45
|
-
</head>
|
46
|
-
<body>
|
47
|
-
<div id="container">
|
48
|
-
<h1>Todos</h1>
|
49
|
-
|
42
|
+
public function getAll(){
|
43
|
+
//query(データベースに命令を投げる)
|
50
|
-
|
44
|
+
$stmt = $this->db->query("select * from todos order by id desc");
|
51
|
-
|
45
|
+
//配列として帰って来るPDO::FETCH_OBJは次の行を取得する
|
52
|
-
<ul>
|
53
|
-
<li>
|
54
|
-
|
46
|
+
return $stmt->fetchAll(PDO::FETCH_OBJ);
|
55
|
-
<span>Do something again</span>
|
56
|
-
<div class="delete_todo">x</div>
|
57
|
-
</li>
|
58
|
-
|
47
|
+
}
|
59
|
-
<input type = "checkbox" checked>
|
60
|
-
<span class="done">Do something again</span>
|
61
|
-
<div class="delete_todo">x</div>
|
62
|
-
|
48
|
+
}
|
63
|
-
</ul>
|
64
|
-
</div>
|
65
|
-
</body>
|
66
|
-
</html>
|
67
49
|
```
|
68
50
|
|
69
51
|
###index.php
|
@@ -84,9 +66,19 @@
|
|
84
66
|
exit;
|
85
67
|
```
|
86
68
|
|
69
|
+
###function.php
|
70
|
+
```php
|
71
|
+
<?php
|
72
|
+
function h($s){
|
73
|
+
//('送られてきた文字列','エスケープの種類','文字コード);
|
74
|
+
//悪意あるコードをただの文字として扱うために置き換える関数
|
75
|
+
return htmlspecialchars($s,ENT_QUOTES,'UTF-8');
|
76
|
+
}
|
77
|
+
```
|
87
78
|
|
88
79
|
|
89
80
|
|
81
|
+
|
90
82
|
###試したこと
|
91
83
|
PDO周りを触っています。まだ質問の仕方が下手だと思うのでなにかありましたらおしゃってください。
|
92
84
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
1
つづり間違い
title
CHANGED
File without changes
|
body
CHANGED
@@ -14,8 +14,8 @@
|
|
14
14
|
<?php
|
15
15
|
define('databese_name','dotinstall_todo_app');
|
16
16
|
define('database_user','dbuser');
|
17
|
-
define('
|
17
|
+
define('database_password','$wataru');
|
18
|
-
define('
|
18
|
+
define('database_host','localhost');;
|
19
19
|
```
|
20
20
|
|
21
21
|
##Todo.php
|