php - duplicate ID even when no data in database -


i have pdo query check duplicate txn_id in database. @ moment database has no record.

everytime run ipn script on paypal sandbox keep getting email saying duplicate transaction id. dont it. have no record in database transaction should have gone though.

can spot error please.

$this_txn = $_post['txn_id']; $stmt = $conn->prepare(" select txn_id transactions  txn_id =:txn_id limit 1 "); $stmt->bindparam('txn_id',$this_txn); $stmt->execute(); $rows = $stmt->fetchall(pdo::fetch_assoc);  if ($rows > 0) {     $messagerr = "duplicate transaction id.";     mail("example@test.com", "duplicate txn_id in ipn system", $messagerr, "from:        test@example.com" );     exit();  }  

use stmt->rowcount() > 0 instead, fetchall returns array

edit

change:

$rows = $stmt->fetchall(pdo::fetch_assoc);  if ($rows > 0) {     $messagerr = "duplicate transaction id.";     mail("example@test.com", "duplicate txn_id in ipn system", $messagerr, "from:        test@example.com" );     exit();  }  

to:

  $rows = $stmt->fetchall(pdo::fetch_assoc);    if ($stmt->rowcount() > 0) {         $messagerr = "duplicate transaction id.";         mail("example@test.com", "duplicate txn_id in ipn system", $messagerr, "from:        test@example.com" );         exit();      }  

this checks number of rows affected last sql statement. original code doesn't work because returns array. if no rows, $rows eaual array()


Comments

Popular posts from this blog

matlab - Deleting rows with specific rules -

php - MySQLi multi_query results for later use -