我知道这个问题有点笨,但我找不到问题所在,我用stackoverflow中的文档和类似代码中的代码检查了它,但我无法弄清楚问题。 这是我的代码:
/** @var $snail callable */
/** @return Core|string */
$snail = function() { echo "whatever!"; }
我测试了这些: 1- post数组不为空,并返回我分配给变量的数组。 2-我有一个名为purchase的表,它配置正确,因为我在SQL中插入数据并成功恢复。 3-我已经尝试了SQL语句而没有{}围绕SQL变量,但没有运气。
另一个问题是在SQL语句完成之后如何在PHP中使用 if (isset($_POST['buy'])) {
$id = (int) $_POST['id'];
$name = $_POST['name'];
$price = (int) $_POST['price'];
date_default_timezone_set("Europe/London");
$date = date("Y-m-d h:i:sa");
$insquery = "INSERT INTO `purchases` (file_id, file_name, price, date) VALUES ({$id}, '{$name}', {$price}, {$date})";
$insResult = mysqli_query($con, $insquery);
if ($insResult) {
//do sth
} else {
//do sth else
}
作为变量?
提前谢谢。
答案 0 :(得分:1)
date
是MySql中的关键字。所以使用反引号(`)。INSERT INTO购买(`file_id`,`file_name`,`price`, `date`)...
使用MySQLi(用于MySQL):
$stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)"); $stmt->bind_param("sss", $firstname, $lastname, $email); // set parameters and execute $firstname = "John"; $lastname = "Doe"; $email = "john@example.com"; $stmt->execute();
mysqli::$insert_id
用于上次插入的ID(Docs here)