在php中使用pdo插入值之前检查mysql数据库

在php中使用pdo插入值之前检查mysql数据库,php,mysql,pdo,Php,Mysql,Pdo,只需在执行插入之前执行另一个查询: $pdo = Database::connect(); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "INSERT INTO cinema (name, genre, year, oscar, watched) VALUES(?,?,?,?,?)"; $q = $pdo->prepare($sql); $q->execute(array($name

只需在执行插入之前执行另一个查询:

$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO cinema (name, genre, year, oscar, watched) VALUES(?,?,?,?,?)";
$q = $pdo->prepare($sql);
$q->execute(array($name, $genre, $year, $oscar, $seen));
Database::disconnect();

执行通常的准备/绑定/获取操作,如果($row['c']>0)则输出错误消息-否则继续插入

,您的问题是?@kingkero可能是复活节彩蛋,您必须找到它:D@Rizier123马上就要来了,呜呜!Hop-Hop“在php中使用pdo插入值之前检查mysql数据库”-在之前查询以查看它是否存在。哦,检查一下什么?@Rizier123 Mhm。。我很确定表的配置不正确(例如缺少
UNQIUE
约束),但问题是,在
INSERT
之前查询表之后应该发生什么。要么给出一个错误(因此第一个查询无论如何都是无用的),要么做一个
更新
(这个问题也被问了很多次并回答了很多次)你能分享准备/绑定/获取的东西吗
SELECT COUNT(*) as c FROM cinema WHERE name = ? and year = ?