【发布时间】:2017-12-08 15:50:31
【问题描述】:
我正在尝试使用准备好的语句在数据库中输入数据。未准备的语句有效,但此准备好的语句不起作用。我不知道为什么。 准备好的版本:
$stmt = $mysqli->prepare("INSERT INTO videos (file_name, upload_by, date, path)
VALUES (?, ?, ?, ?)");
$stmt->bind_param('ssss', $newstring, $id, $date->format('Y-m-d'), $location);
$stmt->execute();
未准备的版本:
$sql = "INSERT INTO videos (file_name, upload_by, date, path) VALUES ('$newstring', '$id', '
$date', 'Nominator/$location$newstring')";
mysqli_query($mysqli, $sql);
【问题讨论】:
-
正确 $stmt-execute();它必须是 $stmt->execute();
-
那是错误的。它仍然无法正常工作。
-
单独给出$date,然后检查。同时添加表结构。
-
取消工作日期
->format('Y-m-d')。当我试图弄清楚这一点时,我已经把它放在那里了。
标签: php mysqli prepared-statement bindparam