gpt4 book ai didi

php - 如何使用php变量?

转载 作者:行者123 更新时间:2023-11-28 23:17:22 25 4
gpt4 key购买 nike

我有这样的困境和头痛,我在 PHP 和 Mysql 中使用日期工作。

在 Workbench 和 phpmyadmin 中这工作正常并返回一些行

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 是 DATETIME 字段,在 php 中我执行了这个 INSERT,它工作正常,我正在用它填充数据库。

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;
}
}

我想验证新的 fechaini 是否在字段的任何行之间

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;

}

该语句不起作用,无论日期是什么,它都会返回与 null 不同的内容。我猜我使用的 php 变量 $fechaini 是错误的,如果你能用正确的语法帮助我的话。

PD:我测试了带点和不带点($fechaini)我没那么笨(我看不到 sentente 返回了什么,我正在使用 android studio...有没有办法查看 PHP 回显或打印的内容?我不是高级用户,甚至不是中级 php 用户。)

最佳答案

好吧,我解决了这个问题,使用 mysqli,这有效,我管理错误的结果,但使用行数,这就是我想要的。感谢大家。希望这有助于了解如何管理查询的返回结果。

public function storeReserva2($fechaini) {




$servername = "localhost";
$username = "root";
$password = "";
$dbname = "android_api";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM reserva WHERE STR_TO_DATE( '$fechaini' , '%Y-%m-%d %H:%i:%s') BETWEEN fechaini AND fechafin";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
echo "fechas existentes";
return false;

} else {

$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;

}

}
$conn->close();




}

关于php - 如何使用php变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43289018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com