我是 php 新手,正在研究 pdo crud 类。我的插入功能本身可以工作,但我试图为插入和更新提供一个功能。我研究并发现您可以使用 ON DUPLICATE KEY UPDATE 来执行此操作,但是当我将它添加到我的函数时它不起作用。
这是我原来的 INSERT 有效;
//INSERT
public function insert($product_name,$color,$description,$used_for){
$query="INSERT INTO makeup SET product_name='$product_name', color='$color', description='$description', used_for='$used_for'";
$result= $this->mysqli->query($query) or die(mysqli_connect_errno()."product cannot inserted");
if($result){
header('location:read.php');
}
}
这是一个添加了 ON DUPLICATE KEY UPDATE (not working) 没有错误消息,项目根本不更新或插入
//INSERT and UPDATE
public function insert($product_name,$color,$description,$used_for){
$query="INSERT INTO makeup SET product_name='$product_name', color='$color', description='$description', used_for='$used_for'
ON DUPLICATE KEY UPDATE makeup SET product_name='$product_name', color='$color', description='$description', used_for='$used_for'";
$result= $this->mysqli->query($query) or die(mysqli_connect_errno()."product cannot inserted");
if($result){
header('location:read.php');
}
}
并通过使用调用:
include('Crud_class.php');
if(isset($_REQUEST['submit'])){
$obj=new Crud("localhost","root","password","dbname");
extract($_REQUEST);
$obj->insert($product_name,$color,$description,$used_for);
}