0

私はphpが初めてで、pdo crudクラスに取り組んでいます。私の挿入機能はそれ自体で機能しますが、挿入と更新の両方に 1 つの機能を持たせようとしています。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 が追加されたものです(動作していません)エラーメッセージはありません。アイテムは単に更新または挿入されません

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

}

4

1 に答える 1