minahitoããã®èšäºïŒhttp://d.hatena.ne.jp/minahito_carp/20090317#1237251786ïŒ
ã§ãã¿åéäžãšã®ããšã§ããã®ã§ãæ©éãã¡ãã«æçš¿ãããŠããã ããŸãïŒã©ãã«
æçš¿ãããè¿·ããŸãããïŒã
ãŸããclass/databaseäžã«ä¿®æ£ãå
¥ããšã¯æã£ãŠããªãã£ãã®ã§ããããŸã§ãªã¯ãšã¹ã
ããããšã¯æããŸããã§ããããä»åãããè¡ããããšããããšã§2.1.7ã§äžèšããæ€èš
ããã ããã°ãšãã
mysqlã«é¢ããŠã§ãããmysql_connect()ã®ïŒçªç®ã®åŒæ°client_flagsã«
MYSQL_CLIENT_FOUND_ROWSãæž¡ãããã«å€æŽããŠããã ããªã
ããªãšæããŸãã
MYSQL_CLIENT_FOUND_ROWSã¯phpã§ã¯defineãããŠ
ããªãã®ã§ãäžèšã®ãããªãã®ãmysqldatabase.phpã®äžã®æ¹ã«
远å ããå¿
èŠããããšæããŸãã
if (!defined('MYSQL_CLIENT_FOUND_ROWS')) {
define('MYSQL_CLIENT_FOUND_ROWS', 2);
}
ãããŠãconnect()ã¡ãœãããäžèšã®ããã«
function connect($selectdb = true)
{
if (XOOPS_DB_PCONNECT == 1) {
$this->conn = @mysql_pconnect(XOOPS_DB_HOST, XOOPS_DB_USER,
XOOPS_DB_PASS, false, MYSQL_CLIENT_FOUND_ROWS);
} else {
$this->conn = @mysql_connect(XOOPS_DB_HOST, XOOPS_DB_USER,
XOOPS_DB_PASS, false, MYSQL_CLIENT_FOUND_ROWS);
}
...çç¥
}
ãªããã®ãããªå€æŽãå¿
èŠããšèšããŸããšãMYSQL_CLIENT_FOUND_ROWSãªãã ãš
äžèšã®ãããªã¯ãšãªãå®è¡ããå Žåãmysql_affected_rows()ã¯å¿
ã0ãè¿ããŠããŸã
ããã§ãã
UPDATE ããŒãã« SET id = 1 WHERE id = 1;
ãããããè¡ããã£ãŠããå 容ã«å€æŽããªãå Žåã«ã¯0ãè¿ããšã®ããšã§ãã
pg_affected_rows()ãsqlite_changes()ã§ã¯äžã®ã¯ãšãªã¯1ãè¿ããšã®ããšïŒpg_affected_rows()æªç¢ºèªïŒ
ãªã®ã§ãmysqlãããã«åãããŠãããªããšå Žåã«ãã£ãŠã¯äžå
·åãçºçããã®ã§ã¯
ãšæããŸãã
preloadã§å¯Ÿå¿ãããããŠã¿ãŸãããããã¯ããã¡ããæžãçŽããªãéãã«ã¯ããŸããããªã
æš¡æ§ã§ãã
ãã ããããŸã§ãã®ä»æ§ã«äŸåããŠããã¢ãžã¥ãŒã«ããããšåé¡ã§ãããã©ããªãã§ãããïŒ
ãããªãã©ã¡ãŒã¿ããã£ããšã¯...(æ±
ãã€ã貎éãªæ
å ±ããããšãããããŸãã
> pg_affected_rows()ãsqlite_changes()ã§ã¯äžã®ã¯ãšãªã¯1ãè¿ããšã®ããšïŒpg_affected_rows()æªç¢ºèªïŒ
> ãªã®ã§ãmysqlãããã«åãããŠãããªããšå Žåã«ãã£ãŠã¯äžå
·åãçºçããã®ã§ã¯
> ãšæããŸãã
&&
> ãã ããããŸã§ãã®ä»æ§ã«äŸåããŠããã¢ãžã¥ãŒã«ããããšåé¡ã§ãããã©ããªãã§ãããïŒ
ã€ãŸãã
- ä¿®æ£ããªããšå Žåã«ãã£ãŠã¯äžå
·åãçºçããã®ã§ã¯!!
- ã§ãä¿®æ£ãããšå Žåã«ãã£ãŠã¯äžå
·åãçºçããã®ã§ã¯... orz
ãšããããšã§ãã...ãããã¡ã§ãã;;
ãããããã¯ããã©ã£ã¡ãéžã¶ããç¡ãã§ãã (^^;
å人çã«ã¯ä¿®æ£ããŠããŸãããã§ããããã ã XOOPS2 çã«ã¿ãã°ã
äºå®äž MySQL ãããµããŒãããŠããªã XOOPS ã§ã Postgre ã sqlite ãšåçã®
åå¿ãæ±ããŠã³ãŒããæžããŠããŸã人ãããã°ãã®äººã XOOPS ã® Requirement ã
ç¡èŠããŠããã ãã ãšèšããŸããã
åŸæ¥ã®åäœã«äŸåããŠããã³ãŒããæžããŠãã人ããããšããã°ã
XOOPS ã®æäŸãã API ã®åå¿ã«åãããŠããããã¹ãããŠãããšèšãããšæããŸãã
ãããä¿®æ£ãããšããããšã¯ããã®äŸ¡å€èгãåŒã£ããè¿ããšããããšã«ãªããŸãããã
ããã¯ã¡ãã£ãšç³ãèš³ãªãã§ããããã
ãã ãLegacy 以å€ã® BASE ã¯ééããªããã«ãDBã«ãªããŸãããã
å®éã«åšãã® DB ã«åãããŠãããªããšäžå
·åã®åºãããã°ã©ã ãçŸç¶ã«ç»å Žããã
ã©ããã§ã¯ãªãã XCL ã®åºæºãšããŠäºãåãããŠããããšã«ã¯æå³ããããšæããŸãã
ãšã¯ããããã³ããå®å®³ã®çš®é¡ãšæ°æ¬¡ç¬¬ã§ãã...
æµ·å€ã®ããã¥ã©ãŒãª XOOPS2 ç³»ã¢ãžã¥ãŒã«ã§äŸåã³ãŒãããã£ããã
çŽããŠãããšãèšããªãããéœåºŠãããããŠãå¿
èŠã«ãªã£ã¡ãã£ããã
ãã£ã±ãŠãŒã¶ãŒèŠç¹ããããã°æ¹æªã£ãŠèšããã¡ããã§ããããã
ããªãããã¢ãã¯ãªè©±ãªã®ã§ã
ããç¥ã£ãŠãã人ãããã°æ
å ±ãå¯ããŠããã ãããã®ã§ããã
æçµçã«ã¯ RC ãå¥ãããã§çšŒåã®æ
å ±ãéããŠã¿ãã®ãäžçªããããªã......
ïŒå¥ããããšããŠåºããŠãæå¿ã®ãã¹ã¿ãŒã«èª¿ã¹ãŠããã£ãŠã
ãåé¡ãå ±åãããªãã£ãã 2.1.7 ã®æ¬¡ã®ããŒãžã§ã³ã§ããŒãžïŒïŒ
2009/03/17 17:38 K. Ono <ono...@gmail.com>:
--
minahito (mina...@gmail.com)
ããã§ãããå®éã®ãšãããXoopsMySQLDatabase::getAffectedRows()
ã䜿çšããŠããã¢ãžã¥ãŒã«ã£ãŠã©ã®çšåºŠããã®ã§ããããã
ãã¡ãã§ã¯XoopsMySQLDatabaseã¯äœ¿çšããŠããªãã®ã§ãããmysql_connect()ã§
確ç«ãããã³ãã¯ã·ã§ã³ã¯åå©çšãããã®ã§ãå¥ã®DBã©ã€ãã©ãªã䜿çšããå Žåã
MYSQL_CLIENT_FOUND_ROWSãæå®ãããŠããªãã®ãšåãæåã«ãªã£ãŠããŸããŸãã
ããã§æŽã«èª¿ã¹ãŠã¿ããšmysql_info()ã䜿çšããã°çŽåã®ã¯ãšãªã§ãããããè¡ã®æ°ã
ååŸã§ããã¿ããã§ãã
http://php.net/manual/en/function.mysql-info.php
ãªã®ã§ãXCLã§ã®å¯Ÿå¿ãã©ãããŠãç¡çãšããããšã§ããã°ããã¡ãã®DBã©ã€ãã©ãª
ã®æ¹ã§mysql_info()ã䜿ã£ãŠå¯Ÿå¿ãããããªãšãæããŸããããã©ãŒãã³ã¹çã«
ã©ããªã£ãŠããŸãã®ãäžæã§ãããã
> ãªã®ã§ãXCLã§ã®å¯Ÿå¿ãã©ãããŠãç¡çãšããããšã§ããã°ããã¡ãã®DBã©ã€ãã©ãª
> ã®æ¹ã§mysql_info()ã䜿ã£ãŠå¯Ÿå¿ãããããªãšãæããŸãã
ã³ãŒãæ€çŽ¢ãšãã§ãã£ãšèª¿ã¹ãéãèŠã€ãããªãã£ãã®ã§ã
XCL åŽã§ä¿®æ£ãã¡ãããŸãã
äžé±éããã¡ãããŸããããããã§ä»åã®å 容ã¯ç¢ºå®ã§ããããã
2009/03/18 20:39 K. Ono <ono...@gmail.com>:
--
minahito (mina...@gmail.com)
ä»ä»¶ãã³ãããããŠãããŸããã
貎éãªãã¿ããããšãããããŸããã
ïŒèšãããªãã£ãã絶察æ°ã¥ããªãã£ãïŒ
RC ã®ã¿ã€ãã³ã°ã§æ§ããŸããã®ã§ãäžåºŠã確èªé¡ããŸãã m(__)m
2009/03/20 15:37 minahito <mina...@gmail.com>:
--
minahito (mina...@gmail.com)