$query bruges før while og inde i while ... Skift navnet på variablen til $query2 , for eksempel:
$hoje = strtotime(date("d-m-Y"));
$db = new DBConfig();
$db -> config();
$db->conn();
$query = mysql_query("SELECT * FROM products WHERE auto_pub = ".$hoje) or die(mysql_error());
while($res = mysql_fetch_assoc($query)) {
$query2 = mysql_query("UPDATE products SET publicado = '0' WHERE auto_pub = ".$hoje) or die(mysql_error());
}
$db->close();
Håber det hjælper.