Jaxel
04-01-2010, 10:34 PM
So I'm using the DataMan, and it seems pretty simple... however, I am having problems checking for unique values... This is one of my VF_METHOD functions...
function verify_serviceVAL(&$serviceVAL)
{
$serviceID = $this->fetch_field('serviceID');
if (!$media = $this->dbobject->query_first("
SELECT * FROM " . TABLE_PREFIX . "media AS media
WHERE serviceVAL = '" . $serviceVAL . "'
AND serviceID = '" . $serviceID . "'
"))
{
$this->error('media_already_exists');
return false;
}
return true;
}
Theoretically, with this code, if the combined values for serviceVAL and serviceID are not unique, it should return an error. However, it doesn't seem to be working for me, and I keep getting a database error...
Database error in vBulletin 4.0.2:
Invalid SQL:
INSERT INTO media
(categoryID, userID, serviceID, serviceVAL, username, title, description, length, dateline)
VALUES
(2, 1, 2, '9953368', 'Jaxel', 'Nature by Numbers', 'A SHORT MOVIE INSPIRED ON NUMBERS', 224, 1270164500);
MySQL Error : Duplicate entry '2-9953368' for key 2
Error Number : 1062
In my table, I have a UNIQUE KEY called "service" for "serviceID, serviceVAL"; which is why its posting the error. However, the code in the datamanager I have above should prevent this hard error from showing it up. But its not working...
Am I doing something wrong?
--------------- Added 1270165322 at 1270165322 ---------------
Also, quick question about data managers... what is the difference between REQ_NO and REQ_AUTO; the manual doesn't really explain a difference.
function verify_serviceVAL(&$serviceVAL)
{
$serviceID = $this->fetch_field('serviceID');
if (!$media = $this->dbobject->query_first("
SELECT * FROM " . TABLE_PREFIX . "media AS media
WHERE serviceVAL = '" . $serviceVAL . "'
AND serviceID = '" . $serviceID . "'
"))
{
$this->error('media_already_exists');
return false;
}
return true;
}
Theoretically, with this code, if the combined values for serviceVAL and serviceID are not unique, it should return an error. However, it doesn't seem to be working for me, and I keep getting a database error...
Database error in vBulletin 4.0.2:
Invalid SQL:
INSERT INTO media
(categoryID, userID, serviceID, serviceVAL, username, title, description, length, dateline)
VALUES
(2, 1, 2, '9953368', 'Jaxel', 'Nature by Numbers', 'A SHORT MOVIE INSPIRED ON NUMBERS', 224, 1270164500);
MySQL Error : Duplicate entry '2-9953368' for key 2
Error Number : 1062
In my table, I have a UNIQUE KEY called "service" for "serviceID, serviceVAL"; which is why its posting the error. However, the code in the datamanager I have above should prevent this hard error from showing it up. But its not working...
Am I doing something wrong?
--------------- Added 1270165322 at 1270165322 ---------------
Also, quick question about data managers... what is the difference between REQ_NO and REQ_AUTO; the manual doesn't really explain a difference.