If I pass the following data to MDB2, execute
does not return an error. It converts the invalid text to a zero and inserts anyway.
$types = array('integer','integer','integer');
$data = array(
'reviewid' => 123,
'userid' => "text$!!^^INVALID INPUT",
'flagid' => 456
);
$statement = $mdb2_dbx->prepare('
INSERT INTO
review_score
(
reviewid,
userid,
flagid,
dateadded
) VALUES (
:reviewid,
:userid,
:flagid,
NOW()
)', $types);
$statement = $mdb2_dbx->prepare($q, $types, MDB2_PREPARE_MANIP);
if(PEAR::isError($statement)) { trigger_error($statement->getMessage(), E_USER_ERROR); }
$affectedRows = $statement->execute($data);
if(PEAR::isError($affected)) { trigger_error($affectedRows->getMessage(), E_USER_ERROR); }
Is there a way to force MDB2 to return an error if the wrong data type is encountered?