MovableType5で「Can’t call method “label” on an undefined value」エラー

movabletype-label-error-summary.png

MovableType5でmt-xmlrpc.cgi を使ったプログラムを作っていて「Can’t call method “label” on an undefined value」が出てしまいましたが、うまく解決できたのでその記録をば。

なぜエラーが起こったか?

そもそもの原因は、PHPからmt-xmlrpc.cgi を使った投稿プログラムを作っていて、カテゴリー構造を間違って投稿してしまいました。

管理画面でも上記のエラーが出るようになってしまい、プログラム上からもエントリーを削除できなくなってしまったのでした。

解決法は…データベースをいじる!

movabletype-label-error.gif

このエラーの解決法は、直接MovableTypeのデータベースを開いてエントリーのカテゴリー情報が格納された「mt_placement」内の該当するカテゴリーフィールドを削除することで解決できます。

SQLiteデータベースで構築している場合

データベースにSQLiteを使用している場合はSQLiteManagerを使って削除することができます。 その時のインストール記事を書いておいたので参照してください。

MySQLデータベースで構築している場合

MySQLデータベースの場合はご存知phpMyAdminをインストールして削除しましょう。

どちらにしろ、GUIでデータベースの内容を確認できるようにしておくと何かと便利なので、今回のトラブルのためだけで終わらせずに、活用していきましょうね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

2011-12-12