gpt4 book ai didi

php - 公共(public)函数 php 中的重复 key 更新不起作用

转载 作者:行者123 更新时间:2023-11-29 13:23:34 25 4
gpt4 key购买 nike

我是 php 新手,正在研究 pdo crud 类。我的插入功能本身就可以工作,但我试图拥有一个用于插入和更新的功能。我研究并发现您可以使用 ON DUPLICATE KEY UPDATE 来执行此操作,但是当我将其添加到我的函数中时它不起作用。

这是我原来有效的插入;

//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(不起作用),没有错误消息,项目根本不更新或插入

//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);

}

最佳答案

存在语法错误。没有 ON DUPLICATE KEY UPDATE tablename SET 而是使用

INSERT INTO makeup SET product_name='$product_name', color='$color', description='$description', used_for='$used_for'
ON DUPLICATE KEY UPDATE product_name='$product_name', color='$color', description='$description', used_for='$used_for'

关于php - 公共(public)函数 php 中的重复 key 更新不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20446734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com