Привязка параметров PHP для вставки MySQL, если не существует - PullRequest
0 голосов
/ 12 сентября 2018

Я читаю и ссылаюсь на различные сообщения о том, как insert if not exists. Это хорошая тема , но мне нужна дополнительная помощь.

Мне нужно добавить новую запись, содержащую около 10 столбцов, но вставлять ее, только если два столбца не совпадают. Мне также нужно сделать привязку параметров на нем.

$query = "INSERT INTO Customers (col1,col2,col3,col4,col5,col6) 
SELECT * FROM (SELECT ?,?,?,?,?,?) AS tmp
WHERE NOT EXISTS (
    SELECT col1 from Customers WHERE uid=? AND pid=?
)   LIMIT 1;"
$results = dbQuery($query,(array($val1,$val2,$val3,$val4,$val5,$val6,$uid,$pid)) ;

Что я здесь не так делаю?

А вот вызов dbQuery:

function dbQuery($query,$data) {
  global $pdo ;
  $stmt = $pdo->prepare($query);
  $result = $stmt->execute($data) ;
  $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
  $error = $stmt->errorInfo() ; 
  if ($result == false) {
    var_dump($error) ;
  }
  return array($result,$error,$rows) ;
}
...