PHP


I ran across this piece of code in a program I am updating. The original author is a great game designer, but only a fair programmer. He also seems to have very limited experience with SQL.

[php]
if ( $grab == ‘Ammo’ ) {
$check = mysql_query(”SELECT * FROM BF WHERE owner= ‘None’ AND country=’$fetch->location’”);
$num_rows = mysql_num_rows($check);

if ( $num_rows != 0 ) {
if ( $fetch->location == $location ) {
mysql_query(”UPDATE BF SET owner=’$username’, profit=’0′ WHERE country=’$fetch->location’ LIMIT 1″);
$this->content .= “You got the Bullet Factory!”;
}
}
}
[/php]

When writing database applications, you need to be as good at writing queries as you are at writing code. Here’s a rewrite:

(more…)

I guess this is more a reminder to myself than useful information, but here goes.

Recently, I read up on PHP 5.x header() function. I ran across this tidbit of info.

HTTP/1.1 requires an absolute URI as argument to ยป Location: including the scheme, hostname and absolute path, but some clients accept relative URIs.

I don’t know about you, but I find RFCs incredibly boring, so I’m glad that some insomniac took the time to find this gem.

Following this standard eliminates another problem in a different language. In Perl, many people correctly use CGI.pm to perform redirects. The CGI manual gives the same advice. Use full URLs to redirect.

Here’s a mini guide to redirection: (Basically, you just print the redirect out.)

(more…)