2008年02月28日のニュースとネタをお届けします
これまでずっと404が続いていた(=好評工事中)画像アーカイブのページをつ・い・に作りました。
先日の『MovableTypeでアップした画像情報を取得するPHPの関数』で自作した関数群をフル活用した形ですが、1箇所だけフン詰まりした部分があるので備忘録として。
function CalcAssetAmount(){
global $db;
$Query = "select count(*) from mt_asset where asset_class = 'image' and asset_parent IS NULL";
$MySQL = mysql_query($Query,$db);
list($Result) = mysql_fetch_row($MySQL);
return $Result;
}
まぁこれだけの関数なんですけど、原因不明のエラーが出てしょうがない。MySQLからの返答リソースが正しくないだの実行したSQLがおかしいだのなんだの……これはデータベースの不良なのかそれとももっと別の根本的な何かなのかと悩むこと3時間。ココで基本に立ち返って昔作った自分のプログラムを見返してみることに。以前検索エンジンを自作したことがあるのでそのデータベース処理部分を見てみると原因が判明。そうだ……そうだった…!!
COUNTのクエリを実行する際は"count"と"(*)"の間にスペースを入れてはいけない
つまり"count (*)"はダメで、"count(*)"でないといけないということ。MySQLの管理プログラム・phpMyAdminの機能である『PHPコードの作成』で生成した場合はデフォルトで半角スペースが挿入されたクエリ文を吐き出すので要注意。保険のつもりで使ったのがガンでした。ちなみにネットにあるFAQサイトやHowToサイトでは当たり前すぎることなのかどこにも注意文がありません。こんな初歩的というか基礎の基礎で立ち悩むのが独学野郎の宿命なのかなんなのか。確か1年に1回くらい悩んできていたような気がするので単に進歩のない自分の脳みそのせいだというのが、現時点での結論です。ただまぁとりあえずphpMyAdminには鉄槌を下したい。
そういえばその以前作った検索エンジンのサイトをGoogleで検索したみたらいつの間にかサイトリンクが作られていました。画像アーカイブのお披露目もかねてスクリーンショットをアップロード。
なんだこの適当なリンクは……。
更新サイト情報やランキングページへのリンクはいいとして、お知らせ記事単体へのリンクやフォームしかないページへのリンクというのはちょっと……。そしてきわめつけは18禁アリというカテゴリへのリンク。Google様から見た駄文同盟.comは良い子お断りのサイトであるようです。そりゃキッズGooに弾かれるわけですよ。
個人的な希望としては新着サイト情報やオススメサイト情報……あとはキーワードランキングあたりに張ってくれればなと思うんですが、Googleアドセンスにも弾かれて3年のサイトですので何を言っても無駄だというのは重々承知しています。Googleウェブマスターツールからなんとかなるかなと淡い期待を抱きましたが、そちらのほうではまだ『このサイトのサイトリンクは生成されていません。』という表示のまま変わらないのでやはりどうしようも。
そもそも駄文同盟.comへのアクセスはYahoo!経由のものが大半なのでいまさらGoogleに何をしてもらったところで、という思いもあります(実はディレクトリ掲載サイト)。なぜか一時期Google八分されてましたしね。ただ最近はYahoo!でもサイト名を検索してヒットしないなどYahoo!八分されている傾向にあるので、逆にいい機会だからGoogleを厚遇しろという検索界の神様からのお達しなのかもしれません。まぁもちろん何もできることはないんですけど。
そんなGoogleダンスを躍らされている中の者でした。あまり他のサイトの話をしてもと思うのでこの話はココで打ちどめ。
話題は180度くらい変わりますがMovableTypeで最近記事を書く際に半角文字かEnterキーか、あるいはバックスペースを打ったりしてカーソルを動かすとフォームが固まるという怪現象に悩まされています。CordPressなどのありがた迷惑な機能は切っているため原因はどう考えてもMovableType4純正の自動保存機能。1分間に30秒近く保存中という文字が出っ放しになっており、この期間中に上記の動作をとると保存が完了するまで身動きが取れなくなるのです(正確には保存が完了すると一気にそれまでの動作が反映される)。そもそも自作の保存機能をAjaxでつけているため、純正の保存機能は要りません。せめて10分に1回という頻度でいいんですけれども……コレを変更するにはどこの設定をいじればいいのやら。
機械を相手にするのは難しい。
[追記] 不思議なことに投稿済みの記事を編集する際にはこの不具合には出会いません。このあたりにMovableTypeの仕様が見え隠れします。ここから解決の糸口が探れればよいんですけれども。自動保存したデータを一時保存する形式が違うとかテーブルが違うとか。
[ 関連キーワード : (キーワードは登録されていません) ]
2008年02月29日 0時更新
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| « 01月 | - | 03月 » | ||||
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | |
