私はこのようなジレンマと頭痛があります。私はPHPとMySQLで日付を使って作業しています。これが正常に動作し、私にいくつかの行PHP変数の使い方は?
SELECT * FROM reserva WHERE STR_TO_DATE('2017-04-07 19:00:00' , '%Y-%m-%d %H:%i:%s') BETWEEN fechaini AND fechafin
fechafinとfechainiを返しWorkbenchとのphpMyAdminで
は、私はこのINSERTは、それが正常に動作しないのphpで、DATETIMEフィールドであり、私はDBとを充填していますこの。
public function storeReserva($fechaini) {
$uuid = uniqid('', true);
$stmt = $this->conn->prepare("INSERT INTO reserva(unique_id, fechaini, fechafin) VALUES(?, ? , ? + INTERVAL 2 HOUR)");
$stmt->bind_param("sss", $uuid, $fechaini, $fechaini);
$result = $stmt->execute();
$stmt->close();
// check for successful store
if ($result) {
$stmt = $this->conn->prepare("SELECT * FROM reserva WHERE unique_id = ?");
$stmt->bind_param("s", $uuid);
$stmt->execute();
$reserva = $stmt->get_result()->fetch_assoc();
$stmt->close();
return $reserva;
} else {
return false;
}
}
は、私がフィールド
public function storeReserva2($fechaini) {
$stmt1 = $this->conn->prepare("SELECT * FROM reserva WHERE STR_TO_DATE('.$fechaini' , '%Y-%m-%d %H:%i:%s') BETWEEN fechaini AND fechafin");
$result1 = $stmt1->execute();
$stmt1->close();
if ($result1 !== null)
{
$uuid = uniqid('', true);
$stmt = $this->conn->prepare("INSERT INTO reserva(unique_id, fechaini, fechafin) VALUES(?, ? , ? + INTERVAL 2 HOUR)");
$stmt->bind_param("sss", $uuid, $fechaini, $fechaini);
$result = $stmt->execute();
$stmt->close();
// Revisa si se hizo la reserva con su id unica
if ($result) {
$stmt3 = $this->conn->prepare("SELECT * FROM reserva WHERE unique_id = ?");
$stmt3->bind_param("s", $uuid);
$stmt3->execute();
$reserva = $stmt3->get_result()->fetch_assoc();
$stmt3->close();
return $reserva;
}
ステートメントdoesntの仕事の任意の行にある間に新しいfechainiありえないが、それは日付があるものは何でもヌルから何かdiferentを返すかどうかを確認します。私はあなたが正しい構文で私を助けることができる場合、私はPHP変数$ fechainiを間違って使用していると思います。
PD:私はドット($ fechaini)の有無にかかわらずテストしました (私はsententeが返すものは見えません、私はアンドロイドスタジオを使用しています...そこには方法がありますどのようなPHPのエコーや印刷を参照してください?私は高度な中間phpユーザーではない)。
なぜ正しい形式のものが 'STR_TO_DATE'ですか? – tadman
"Between"を使用するのが必要ですので、日付として読むでしょう –
私のアプリから得られる$ fechaini変数を使用する正しい方法が必要です。変数にはyyyy-mm-ddのHHがあります。mm :ss形式、私はそれを挿入するために使用します。 –