PHP PDO简单的插入或更新功能

在尝试创建一个简单的 PHP PDO更新函数时,如果找不到该字段会插入它,我创建了这个小片段.
function updateorcreate($table,$name,$value){
    global $sodb;
    $pro = $sodb->prepare("UPDATE `$table` SET value = :value WHERE field = :name");
    if(!$pro){
        $pro = $sodb->prepare("INSERT INTO `$table` (field,value) VALUES (:name,:value)");
    }
    $pro->execute(array(':name'=>$name,':value'=>$value));
}

它没有检测到更新功能是否适用于if(!$pro);我们如何使这个工作.

您将$pro分配给prepare,而不是execute语句.

话虽如此,如果你使用的是MysqL,你可以使用insert … on duplicate key update Syntax.

insert into $table (field,value) values (:name,:value) on duplicate key update value=:value2

您不能两次使用相同的绑定参数,但可以将两个绑定参数设置为相同的值.

编辑:此MysqL语法仅适用于存在密钥(主要或另一个唯一)并导致插入失败的情况.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...