【发布时间】:2012-08-30 07:25:18
【问题描述】:
在尝试创建一个简单的 PHP PDO 更新函数,如果找不到该字段会插入它,我创建了这个小 sn-p。
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);,但它不会检测到我们如何使这个功能起作用。
【问题讨论】:
-
我还在适应它,但不会回到 mySQL
-
您首先需要
execute()它,然后才能判断更新是否导致使用numRows()更新行,但如果该字段已经存在且具有相同的值,您也可能会得到意想不到的结果. -
更新查询没有报错,它是一个有效的查询,不会更新任何记录。
-
@Lex 但他只在底部执行他的第一个查询,所以 if 条件没用。
标签: php pdo insert-update