回答編集履歴
3
文章の修正
answer
CHANGED
@@ -12,16 +12,16 @@
|
|
12
12
|
|
13
13
|
//先ほどのカウント数をfor文に盛り込み、回数分処理を行う
|
14
14
|
try{
|
15
|
+
$sql="UPDATE テーブル名 SET fullname=:fullname, age=:age WHERE id=:id";
|
16
|
+
$stm=$db->prepare($sql);
|
15
17
|
for($i=0;$i<$count;$i++){
|
16
18
|
//連想配列をarray()を使って作成し、SQL文を実行してしまう
|
17
19
|
$array=array("id"=>"$id[$i]","fullname"=>"$fullname[$i]","age"=>"$age[$i]");
|
18
|
-
$sql="UPDATE テーブル名 SET fullname=:fullname, age=:age WHERE id=:id";
|
19
|
-
$stm=$db->prepare($sql);
|
20
|
-
$stm->
|
20
|
+
$stm->bindParam(':id', $array['id'], PDO::PARAM_INT);
|
21
|
-
$stm->
|
21
|
+
$stm->bindParam(':fullname', $array['fullname'], PDO::PARAM_STR);
|
22
|
-
$stm->
|
22
|
+
$stm->bindParam(':age', $array['age'], PDO::PARAM_INT);
|
23
|
-
}
|
24
|
-
$stm->execute();
|
23
|
+
$stm->execute();}
|
24
|
+
|
25
25
|
}
|
26
26
|
catch(\PDOException $e){
|
27
27
|
echo $e->getMessage();
|
2
文章の追加
answer
CHANGED
@@ -11,6 +11,7 @@
|
|
11
11
|
$count = count($id);
|
12
12
|
|
13
13
|
//先ほどのカウント数をfor文に盛り込み、回数分処理を行う
|
14
|
+
try{
|
14
15
|
for($i=0;$i<$count;$i++){
|
15
16
|
//連想配列をarray()を使って作成し、SQL文を実行してしまう
|
16
17
|
$array=array("id"=>"$id[$i]","fullname"=>"$fullname[$i]","age"=>"$age[$i]");
|
@@ -19,8 +20,12 @@
|
|
19
20
|
$stm->bindValue(':id', $array['id'], PDO::PARAM_INT);
|
20
21
|
$stm->bindValue(':fullname', $array['fullname'], PDO::PARAM_STR);
|
21
22
|
$stm->bindValue(':age', $array['age'], PDO::PARAM_INT);
|
23
|
+
}
|
22
24
|
$stm->execute();
|
23
25
|
}
|
26
|
+
catch(\PDOException $e){
|
27
|
+
echo $e->getMessage();
|
28
|
+
}
|
24
29
|
|
25
30
|
|
26
31
|
?>
|
1
文章の追加
answer
CHANGED
@@ -27,4 +27,5 @@
|
|
27
27
|
```
|
28
28
|
とりあえず、これでいけましたが、まだ不完全なところはあるかもしれません。
|
29
29
|
(┣¨初心者なもので....)
|
30
|
+
より効率よく処理を高速化させる方法がある気がしており、このやり方だと遅いのかもしれません。。。
|
30
31
|
ひとまず解決とさせていただきますが、他にも方法はあると思いますので、ご提案ある方いらっしゃいましたらよろしくお願いいたします。
|