2011年02月06日

RadPHP:DB接続(mysql)で文字化け

RadPHPでDatabaseコンポーネントのCharsetプロパティをutf8に設定してるのにDB接続で文字化けする。(phpソース・mysqlのテーブル共にUTF8で作成している。)
対策はDB接続後に"SET NAMES UTF8"をmysqlに投げる。・・・しかしそれじゃあCharsetプロパティって何のためにあるの?

function Database1AfterConnect($sender, $params)
{
$this->Database1->execute("SET NAMES utf8");
}

posted by 忘却の達人 at 10:08| Comment(0) | TrackBack(0) | RadPHP | このブログの読者になる | 更新情報をチェックする

2011年02月05日

RadPHP:NotifyBarを任意のタイミングで表示

ツールパレットのjQueryタブにあるNotifyBar(JBarのラッパー)は、デザイン時にMessageプロパティに表示する文字を入れ、Controlプロパティにフォーム上のボタンを指定すると、実行時そのボタンが押されたときに表示されるが、任意のタイミングで表示する場合は以下の関数を実行する。

コンポーネント名_execute(message,position,closebutton,duration,backgroundcolor,color);
※ パラメータは全て省略可能。省略した場合はデザイン時に指定したプロパティの値が使用される。

ex.)背景色ピンク、文字色青で「やっほ〜」を表示
NotifyBar1_execute("やっほ〜", "", "", "", "pink", "blue");
posted by 忘却の達人 at 13:04| Comment(0) | TrackBack(0) | RadPHP | このブログの読者になる | 更新情報をチェックする

2011年01月25日

RadPHP:DBGridを使用したページがエラーで表示されない

DBGridを使用したページで、ローカルでは正常に表示されてたのに、レンタルサーバーにアップすると、以下のエラーが表示されるだけで、コントロールが全て表示されなかった。(RadPHP XEトライアル版)
PHP Notice: Undefined property: ADORecordSet_mysql::$Fields in 〜\rpcl\dbtables.inc.php on line 624

E_NOTICEエラーを出力しないよう、ソースの最初に以下の1行を追加したら、正常に表示された。
error_reporting(E_ALL ^ E_NOTICE);
posted by 忘却の達人 at 00:09| Comment(0) | TrackBack(0) | RadPHP | このブログの読者になる | 更新情報をチェックする

2011年01月20日

RadPHP:PearDataGridでの表示

PearDataGridでの表示。(RadPHPトライアル版、DB:MySQL、charset:utf8)
まずDSNプロパティを以下のように設定。
mysqli://ユーザーID:パスワード@サーバー/データベース
文字化けを起こしたので文字コードを指定。
mysqli://ユーザーID:パスワード@サーバー/データベース?charset=utf8

すると今度は実行時エラー…原因は"rpcl/PEAR/MDB2/Driver/mysqli.php"の506行目で"mysql_real_escape_string"を使用していたため。これを"mysqli_real_escape_string"に変更したら正常に表示された。
あとDSNのphptypeを"mysql"に変えてもOK。
posted by 忘却の達人 at 22:37| Comment(0) | TrackBack(0) | RadPHP | このブログの読者になる | 更新情報をチェックする

2011年01月18日

RadPHP:ZAuthDBのPasswordFunctionプロパティ

ZAuthDBのPasswordFunctionプロパティは、パスワードを判定する式(関数)を指定する。
SQLのwhere句で、パスワード=〜この部分〜を設定するイメージ。
例えばテーブルのパスワードをMD5でハッシュ化している場合は、"MD5(?)"と設定する。
更に"MD5(?) and active_flg='1'"などと、他の条件式を付け加えることもできる。
posted by 忘却の達人 at 23:47| Comment(0) | TrackBack(0) | RadPHP | このブログの読者になる | 更新情報をチェックする

RadPHP:ZAuthコンポーネントで実行時エラー

ZAuthコンポーネントを使用すると、以下のZendユニットを使用するが、これらを"forms.inc.php"の前に記述しないと実行時エラーとなる。

use_unit("Zend/zauthdb.inc.php"); //または"Zend/zauthdigest.inc.php"
use_unit("Zend/zauth.inc.php");
use_unit("forms.inc.php"); //この前に記述

実行時エラー:
session has already been started by session.auto-start or session_start()
posted by 忘却の達人 at 23:17| Comment(0) | TrackBack(0) | RadPHP | このブログの読者になる | 更新情報をチェックする

2011年01月16日

RadPHP:SQLの発行

RadPHPでSQLを発行する場合、戻り値を返すSQLはQueryコンポーネントを使い、戻り値を返さないSQLはDatabaseコンポーネントのexecuteメソッドを使った方が楽。(戻り値を返さないSQLでQueryコンポーネントを使用する場合は、LimitStart&LimitCountプロパティをともに-1にする。)
posted by 忘却の達人 at 11:25| Comment(0) | TrackBack(0) | RadPHP | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。