Monthly Archives: 3月 2009
MySQLで”The used SELECT statements have a different number of columns”
PHP&MySQLでSQLを書いてたときに、
“The used SELECT statements have a different number of columns”
みたいなエラーがでました。
グーグル先生に聞いたところ、MySQL本家サイトにも記述がありました。
理由としては、
UNIONを利用していて、片方だけにしか特定のカラムがない場合にでるようです。
出力カラムの数を数えるのと、カラム名を確認してみたらいいんじゃないでしょうか。
僕は単純にカラム数(column)がたりませんでした。
注意力が足りなくて、スミマメーン!
phpで”Cannot use a scalar value as an array”
phpで
“Cannot use a scalar value as an array”
が表示されて処理ができなかったときのお話です。
グーグル先生に質問をしてみたところ、
配列を初期化している部分に問題があるのがわかりました。
たとえば、
// 初期化
$test['abc'] = ”;// 配列に値を入れる
$test['abc']['aaa'] = aaaa;
こんなことしたときにエラーになりました。
要するに、$test['abc']はスカラー変数なのに、$test['abc']['aaa']のように
配列に値をいれようとしてるよ!
という警告のようです。
ということで、初期化している部分をコメントアウトして対処しました。
多分初歩的な内容なんだろうな。。
ZendFrameworkで404エラー
.htaccessでmod_rewriteを使って転送してるつもりが、
404エラーになってしまう。
Apacheのエラーログ(error_log)では、「File does not exist:」が
でてる状態なわけです。
こんな現象とちょっと戯れたので、メモしとく。
.htaccessの内容は以下。
## リライトエンジンを有効に。
RewriteEngine On
## リライトの対象パスを指定
RewriteBase /
## リライトルールを宣言(条件・アクセス先)
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
まあ、これで普通はmod_rewriteによって、該当領域にきたアクセスで
RewriteRuleで指定されている画像など以外のものは、
すべてindex.phpにアクセスされるようになるはずなんですね。
ここで大きな落とし穴がありました。
.htaccessの書き方が問題なくても、
そもそも.htaccessを有効にしてない場合があるわけです。
Apacheのhttpd.confに「AllowOverride」って項目があるわけです。
これが「None」とかになってると、.htaccessが利用できないです。
これは、サーバ管理者にお願いする形になっちゃうんでしょうけど、
修正するしかないですね。
ZendFrameworkのおすすめ書籍