お世話になります。
まず、データベース上には、datetime型のフィールドStartTimeとEndTimeがあります。
これに対し、入力した時刻$H時$M分が、各レコードが示す時間帯にあるか判定をかけようと思います。
php
1 //本登録 2 $sql= "SELECT count(*) FROM data WHERE ( :T Between TIME_FORMAT(StartTime, '%H:%i') AND TIME_FORMAT(EndTime, '%H:%i'))"; 3 4 $stt=$pdo->prepare($sql,array(PDO::ATTR_CURSOR=>PDO::CURSOR_SCROLL)); 5 $stt->execute( 6 array( 7 ':T'=>$H.':'.$M 8 ) 9 ); 10 if (!$stt) { 11 echo "PDO::errorInfo():<br>"; 12 print_r($pdo->errorInfo()); 13 } 14 15 //指定時刻が各レコードに含まれない 16 if($stt->fetchColumn()==0) 17 { 18 //次の処理 19 }
どのレコードにも指定時刻が含まれなければ次の処理へ進ませ、そうでなければ弾く仕掛けにしたいのですが、
わざと含まれる時刻を指定しても、弾くことがありません。
どうすれば、表題の判定ができますか。
どうも、:の後ろを変数扱いしているような気もするのですが、時間を記載するためにこれを外す方法もわかりません。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/30 00:31
2018/11/30 00:48
2018/11/30 01:35
2018/11/30 02:33