phpとmysqliを使用してデータベースへの接続を開き、準備が整った文を使用していくつかのクエリを実行し、すべてがうまく動作するが、このクエリでは、将来的には私はどういうわけか、すぐに私はGETDATE()にすると、文の行を準備することをPHP MYSQLI prepared statement datetimeとGetdate()との比較エラー
date_default_timezone_set('America/Denver');
if(!($stmt = $con->prepare("SELECT r.destination, r.startDepartureTime, r.seats, r.priceperseat FROM ride r WHERE r.startZipCode = ? AND r.startDepartureTime > GETDATE()"))) echo "Prepare failed: (" . $stmt->errno . ") " . $stmt->error;
if(!$stmt->bind_param("i", $userZipCode)) echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($destination,$departure,$seats,$price);
while($stmt->fetch()){
echo "Destination : $destination Departure Time : $departure Seats Available : $seats Price Per Seat : $price <br>";
}
$stmt->close();
PHPのエラーログレポートに比較を追加すると失敗しています
PHPのお知らせ:非のプロパティを取得しようとすると、オブジェクト
したがってbind_paramライン上で、我々は
PHPの致命的なエラーが出ること:ソリューションのすべてを非オブジェクト
私はもともとNOW(使用しようとしていた上のメンバ関数bind_param()の呼び出し)が、試してみましたこのスレッドでSQL NOW() function not working properlyと運がなかった。
r.startDepartureTime> GETDATE()の比較をしないで文を実行すると、すべて正常に動作します。
私のデータベースのstartDepartureTime列がdatetime型であることを確認しました。ここには例があります:2016-05-21 10:24:00私が確かにしたことは、空のセットを受け取っただけではないことを保証するために、現在の時刻と同じ郵便番号の中で確かに大きいです。
からエラーを取得するには、接続
$con
を使用する必要があり、この場合のように、あなたは 'これらのエラーを取得 - >が準備を()'失敗していますが、エラーをキャッチいけないし、ちょうどあなたのコード – RiggsFolly