Ich habe so ein Dilemma und Kopfschmerzen, ich arbeite in PHP und Mysql mit Daten. Wie benutzt man eine PHP-Variable?
In Workbench und phpMyAdmin das funktioniert gut und gibt mir ein paar Zeilen
SELECT * FROM reserva WHERE STR_TO_DATE('2017-04-07 19:00:00' , '%Y-%m-%d %H:%i:%s') BETWEEN fechaini AND fechafin
Wo fechafin und fechaini sind DATETIME- Felder, in php ich diese INSERT, es funktioniert gut, und ich bin Füllen der DB mit Dies.
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;
}
}
Ich möchte zwischen in einer beliebigen Zeile der Felder
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;
}
Die Aussage nicht funktioniert, es ist etwas diferent von null zurück, was auch immer die Daten sind, wenn die neue fechaini ist nicht zu überprüfen. Ich schätze, ich benutze die PHP-Variable $ Fechaini falsch, wenn Sie mir mit der richtigen Syntax helfen können.
PD: Ich testete mit und ohne den Punkt ($ fechaii) Ich bin nicht das ein bisschen dumm (Ich kann nicht sehen, was die sentente zurück, ich benutze Android Studio ... gibt es einen Weg zu Sehen Sie, was die PHP Echo oder Drucken? Ich bin kein fortgeschrittener auch nicht ein Zwischen PHP-Benutzer.)
Warum haben Sie 'STR_TO_DATE', was ist bereits im richtigen Format? – tadman
Ich lese das ist notwendig, um "Between" zu verwenden, so wird es als ein Datum lesen –
Ich möchte nur die richtige Art und Weise zu verwenden, die Variable $ fechaini ich bekomme von meiner App die Variable haben de JJJJ-MM-TT HH: mm : ss format, ich benutze es zum einfügen. –