This is fine:
PHP Code:
$N_pub_date = strtotime("{$row['pub_date']}");
$N_pub_date = date("m/d/y", $N_pub_date);
So long as $row['pub_date'] represents a valid datetime string in SQL and strtotime is available (which it has been since like, 4.2 or something like that). So if I do this:
PHP Code:
$row = array('pub_date' => '2009-10-04 22:23:00');
$N_pub_date = strtotime("{$row['pub_date']}");
$N_pub_date = date("m/d/y", $N_pub_date);
printf('Date: %s', $N_pub_date);
I get this:
As for SQL, although I'd suggest querying for each property separately, you can mix and match wildcards with explicits.
SELECT *, DATE_FORMAT(pub_date, '%m/%d/%Y') AS formattedDate FROM. . . is fine.