osqdb has to be one of the worst peices of code I have seen in a while.
- Previous: Outside Free Comic Book Day @ Elfsar
- Next: I get my own ugly code
Tonight I was trying to convert the old custom quote system I used for #arc to qdb just for fun. I was trying to find out the code used by qdb.us/bash.org but came across this peice of code called OSQDB.
Here's an exerpt of code called whenever a new quote is added.
$get = mysql_query("SELECT * FROM quotes ORDER BY id DESC LIMIT 1");
while ($count = mysql_fetch_array($get)) {
$tempid = $count["id"];
}
/* Increment the id */
$newid = $tempid+1;
$sql = mysql_query("INSERT INTO quotes SET id = '$newid'");
$sql = mysql_query("UPDATE quotes SET quote = '$newquote' WHERE id = '$newid'");
$sql = mysql_query("UPDATE quotes SET comment = '$comment' WHERE id = '$newid'");
$sql = mysql_query("UPDATE quotes SET ip = '$ip' WHERE id = '$newid'");
- It loops through 1 entry trying to find the latest entry number (I'm sure max() is faster than order by and limit).
- Once its it found, it does one insert with the id being set. Then it does 3 more queries setting each field in its own query.
That sorta explains why the db doesn't have auto_increment fields turned on, but its scary. I'm afraid of looking at much more of the code. Luckily I then found Rash Quote Management System. I don't like this one very much either.. but they are more personal reasons versus code issues.
I should clean up and submit patches (it doesn't seem to have been updated since 2006) for rqms.
- Previous: Outside Free Comic Book Day @ Elfsar
- Next: I get my own ugly code