我有这个代码用于将新产品添加到我的数据库中,但它根本不起作用。
我希望通过代码不是手动插入日期,因为我在mysql中使用了now(),但现在我使用PDO,我现在有了想法,我怎么能这样做。这是我的代码:
<?php
require"../scripts/config.php";
if(isset($_POST['product_name'])){
$product_name = $_POST['product_name'];
$product_category= $_POST['product_category'];
$product_quality= $_POST['product_quality'];
$product_size = $_POST['product_size'];
$product_price = $_POST['product_price'];
$product_description= $_POST['product_description'];
$q = "INSERT INTO tuotteet (name, category, quality, size, price, description, date_add)
VALUES(:name, :category, :quality, :size, :price, :description, NOW())";
require "../scripts/connect.php";
$query = $connect->prepare($q);
$result = $query->execute(array(
":name" => $product_name,
":category" => $product_category,
":quality" => $product_quality,
":size" => $product_size,
":price" => $product_price,
":description" => $product_description
));
}
?>
答案 0 :(得分:1)
您在SQL中使用NOW()
这是一种很好的方法,但您也尝试传递SQL中不存在的:date_add
参数作为占位符。当:date_add
时,不要在execute()
上绑定值。
您需要检查并处理数据库访问的错误。
您还错过了if (isset($_post['product_name]))
的单引号if (isset($_post['product_name']))