昨日は、SQLインジェクション対策をしてた。
ざっとこんな感じですね。
<?php require_once('database.php'); require_once('db_connect.php'); $hana_id = $_POST["hana_id"]; $query = "select * from hana where id = :hana_id"; $prepare = $dbc->prepare($query); $prepare->bindValue(':hana_id',$hana_id,PDO::PARAM_INT); $prepare->execute(); $row = $prepare->fetchAll(PDO::FETCH_ASSOC); $data_array = array(); $i=0; foreach($row as $result){ array_push($data_array, array("name" => $row[$i]["name"], "comment" => $row[$i]["comment"], "created_at" => $row[$i]["comment_created_at"] ) ); $i++; } header("Content-Type: application/json; charset=utf-8"); echo json_encode($data_array);
こんな感じで、PDOのプリペアードステイトメントを使ってる。
DBへの接続を、mysqliからPDOへ変更したので、その調整で予定より時間をくってしまった。
昨日、6ファイル分のコードの修正を1ファイル30分で行えると想定し、3時間+予備1時間で計算し実行。
しかし、2ファイル目で時間を2時間くらいかかってしまった。それは、SQLインジェクション対策というより、完成したと思っていたコードが想定した通りに動かなくて、その修正。
原因は、データを入力して出力する際の照合の不備によるもの。1個、1個しっかりやっていかないとな。と思うけど、どうやってやっていこう。ちょいと考えよう。
てな感じで、続きをやりたいけど、体調が悪いので、今日は少しずつ^^w