我是新來的PHP和pdo crud類的工作。我的插入功能本身的作品,但我想有一個插入和更新功能。我研究並發現你可以使用ON DUPLICATE KEY UPDATE來做到這一點,但是當我將它添加到我的函數中時,它不起作用。關於公共函數php中的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');
}
}
這裏是一個與增加對重複密鑰更新(不工作)沒有錯誤消息,項目根本就沒有更新或插入
//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);
}
什麼不起作用?有沒有錯誤信息? – Mike
你也有一個原始的語法錯誤,所以沒有辦法可能工作。 – Mike
語法錯誤更正發生在複製代碼這裏沒有在原代碼 – meztli