夜の歌

プログラミング、音楽、本について緩く書いていきます。

途中経過です。

昨日は、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