好的,所以我已经有一些插入脚本在工作,但是当我尝试使用这个脚本时,没有任何反应。我没有得到错误或任何东西,它只是没有插入到数据库中。我感觉它是日期参数,但我不确定如何使其可识别?
<?php //SETTING SESSION VARIABLES FOR ROUND 1 TEAMS AND SCORE
session_start();
if (isset($_POST['go1'])) { // MATCHUP 1
include_once 'dbcon.php';
$_SESSION['t_team1'] = $_POST['team-1'];
$_SESSION['t_team2'] = $_POST['team-2'];
$_SESSION['s_score1'] = $_POST['score-1'];
$_SESSION['s_score2'] = $_POST['score-2'];
$team1winner = mysqli_real_escape_string($conn, $_POST['team-1']);
$team2winner = mysqli_real_escape_string($conn, $_POST['team-2']);
$date1 = mysqli_real_escape_string($conn, $_POST['date-1']);
$sql = "INSERT INTO knockout (knockout_team1, knockout_team2, knockout_date)
VALUES ('$team1winner', '$team2winner', '$date1');";
header("Location: ../tables.php?tables=winner");
}
//日期html
<input type="date" name"date-1" value="date" class="date">
最佳答案
首先,您将 SQL 命令放在一个字符串中,但实际上并没有执行该命令。
其次,如果您正在执行命令但未在此处显示它并且您的 dbcon.php
文件工作正常,则更有可能是日期格式问题。
最后,您需要执行所有命令,尤其是准备好的语句中的 INSERT
命令,以防止 SQL 注入(inject) winch 非常重要。
这里你的代码应该是这样的:
<?php //SETTING SESSION VARIABLES FOR ROUND 1 TEAMS AND SCORE
session_start();
if (isset($_POST['go1'])) { // MATCHUP 1
include_once 'dbcon.php';
$_SESSION['t_team1'] = $_POST['team-1'];
$_SESSION['t_team2'] = $_POST['team-2'];
$_SESSION['s_score1'] = $_POST['score-1'];
$_SESSION['s_score2'] = $_POST['score-2'];
$team1winner = mysqli_real_escape_string($conn, $_POST['team-1']);
$team2winner = mysqli_real_escape_string($conn, $_POST['team-2']);
$date1 = mysqli_real_escape_string($conn, $_POST['date-1']);
$TeamsStat = $conn->prepare("INSERT INTO knockout (knockout_team1, knockout_team2, knockout_date) VALUES (?, ?, ?)");
$TeamsStat->bind_param("sss", $team1winner, $team2winner, $date1);
$TeamsStat->execute();
$TeamsStat->close();
header("Location: ../tables.php?tables=winner");
}
Where
$conn
is the object of your database connection.
由于准备好的语句不支持日期类型并且日期不是自由输入值,knockout_date
列应该是一个字符串,变量 $date1
应该也是一个字符串。
希望对您有所帮助。
关于php - 如何使用PHP将日期输入到mysql数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55459145/