2006-05-31 (¿å)
¢£ Ethna ¤Ç PDO ¤ò»È¤¦¥µ¥ó¥×¥ë
ºòÆü¤Î³¤¡£ PDO¤òEthna¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥ª¥Ö¥¸¥§¥¯¥È¤Ë»È¤¦ ¤Î¥Ú¡¼¥¸¤ò»²¹Í¤Ë¤·¤Æ¡¢ Ethna ¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Çºî¤Ã¤¿¥µ¥ó¥×¥ë¤ò¡¢ PDO ¤ò»È¤¦¤è¤¦¤Ë¤·¤Æ¤ß¤ë¡£
Ethna_DB_PDO.php ¤ò¥¤¥ó¥¹¥È¡¼¥ë¡£
# cd /dev/shm # wget http://dozo.rgr.jp/Ethna_DB_PDO.tar.gz # tar xvfz Ethna_DB_PDO.tar.gz # cp Ethna_DB_PDO/class/DB/Ethna_DB_PDO.php /usr/share/php/Ethna/class/DB/
app/Sample_Controller.php ¤Î $class ¤ÎÀßÄê¤ò°Ê²¼¤Î¤è¤¦¤ËÊѹ¹¡£
var $class = array(
¡Ä¡Ä
'db' => 'Ethna_DB_PDO',
¡Ä¡Ä
);
¤³¤ÎÃʳ¬¤Ç¤È¤ê¤¢¤¨¤º¼Â¹Ô¤·¤Æ¤ß¤¿¤é¡¢¤³¤ó¤ÊÉ÷¤Ë¸À¤ï¤ì¤¿¡£
Fatal error: Class 'Ethna_DB_PDO' not found in /usr/share/php/Ethna/class/Ethna_Backend.php on line 367
¤Ê¤ó¤Ç¡© ¥¨¥é¡¼¤¬½Ð¤¿ÊÕ¤ê¤Î¥³¡¼¥É¤òÆÉ¤ó¤À¤ê¡¢ grep Ethna_DB_PEAR ¤·¤Æ¤ß¤ë¤È¡¢ /usr/share/php/Ethna/Ethna.php ¤Ë°Ê²¼¤Î¤è¤¦¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¤Î¤òȯ¸«¡£
include_once(ETHNA_BASE . '/class/DB/Ethna_DB_PEAR.php');
¤¢¡¼¡¢·è¤á¤¦¤Á¤·¤Æ¤ë¤Î¤«¡£ app/Sample_Controller.php ¤ÎÊý¤Ç Ethna_DB_PDO.php ¤ò include ¤·¤Æ¤âÎɤ¤¤Î¤À¤í¤¦¤¬¡¢ PEAR::DB ¤Ç¤Ê¤¯ PDO ¥ª¥ó¥ê¡¼¤Çư¤¯¤³¤È¤ò³Îǧ¤·¤¿¤¤¤Î¤Ç¡¢ ¤³¤³¤Ï¤¤Ã¤Ñ¤ê¤È¡¢ ¾åµ¤Î²Õ½ê¤ò Ethna_DB_PDO.php ¤ò include ¤¹¤ë¤è¤¦¤Ë½ñ¤´¹¤¨¤Æ¤·¤Þ¤¦¡£
¤½¤¦¤·¤Æ¡¢¤½¤Î¸å¤â¤¤¤í¤¤¤í¤È»î¹Ôºø¸í¤·¤Æ¤ß¤Æ¡¢ °Ê²¼¤Î¤è¤¦¤Ê¥³¡¼¥É¤Çư¤¯¤³¤È¤ò³Îǧ¤Ç¤¤¿¡£
<?php
class Sample_UserManager
{
function auth($db, $mailaddress, $password)
{
$sql = 'SELECT password FROM user WHERE email=?';
$db->prepare($sql);
$db->execute(array($mailaddress));
$row = $db->fetch();
if ($row[0] != md5($password)) {
return Ethna::raiseNotice('¥Ñ¥¹¥ï¡¼¥É¤¬°ã¤¤¤Þ¤¹', E_SAMPLE_AUTH);
}
return 0;
}
}
?>
¤¿¤À¡¢Æ°¤¤Ï¤¹¤ë¤Î¤À¤¬¡¢¤É¤¦¤â´üÂÔ¤·¤Æ¤¤¤¿¤Î¤È°ã¤¦¡£
- execute() ¤È¤« fetch() ¤¬ $db ¤Î¥á¥½¥Ã¥É
- bindparam() ¤Ê¤É¤Î PDOStatement ¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤¬²¿¤â»È¤¨¤Ê¤¤
¤È¤³¤í¤¬¡¢query() ¥á¥½¥Ã¥É¤ÎÊý¤Î¼ÂÁõ¤ò¸«¤Æ¤ß¤ë¤È¡¢ ¤³¤Á¤é¤Ï PDOStatement ¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤·¤Æ¤¤¤ë¡£ ¾¤Î Ethna_DB_PEAR ¤È¤« Ethna_DB_ADODB ¤ò¸«¤Æ¤â¡¢ query() ¥á¥½¥Ã¥É¤Ï¤½¤Î¥¯¥é¥¹ÆÈÆÃ¤Î·ë²Ì¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤·¤Æ¤¤¤ë¤Î¤Ç¡¢ ñ½ã¤Ë¡¢return ʸ¤Î½ñ¤Ëº¤ì¡¢¤Ç¤Ï¤Ê¤¤¤«¤È¤¤¤¦µ¤¤â¤·¤Æ¤¤¿¡£
¤È¤ê¤¢¤¨¤º¡¢prepare() ¥á¥½¥Ã¥É¤Ë¡¢ return $this->stmtObj; ¤Î£±Ê¸¤òÄɲ䷤ơ¢ PDOStatement ¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤¹¤è¤¦¤Ë¤·¤Æ¤ß¤¿¡£ ¤½¤¦¤¹¤ë¤È¡¢¾åµ¤Î¥×¥í¥°¥é¥à¤Ï°Ê²¼¤Î¤è¤¦¤Ë½ñ¤Ä¾¤¹¤³¤È¤¬¤Ç¤¤ë¡£
<?php
class Sample_UserManager
{
function auth($db, $mailaddress, $password)
{
$sql = 'SELECT password FROM user WHERE email=?';
$stmt = $db->prepare($sql);
$stmt->bindparam(1, $mailaddress);
$stmt->execute();
$row = $stmt->fetch();
$stmt->closeCursor();
if ($row[0] != md5($password)) {
return Ethna::raiseNotice('¥Ñ¥¹¥ï¡¼¥É¤¬°ã¤¤¤Þ¤¹', E_SAMPLE_AUTH);
}
return 0;
}
}
?>
PDO ¤Ë¤Ù¤Ã¤¿¤ê¤È¤¤¤¦´¶¤¸¤Ë¤Ê¤ë¤¬¡¢ µÕ¤Ë¤³¤ì¤¯¤é¤¤¤Î¤³¤È¤¬½ñ¤±¤Ê¤¤¤È PDO ¤ò»È¤¦°ÕÌ£¤¬Ìµ¤¤¡£ ¤É¤¦¤»¸½¾õ¤Ç¤Ï¡¢Ethna_DB ¤Ï¤¿¤¤¤·¤ÆÃê¾Ý²½¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢ ¤³¤ì¤Ç¤¤¤¤¤ó¤¸¤ã¤Ê¤¤¤«¤È»×¤¦¡£
- 48 http://dozo.matrix.jp/pear/index.php/Framework/Eth...
- 41 http://dozo.matrix.jp/pear/index.php?Framework/Eth...
- 6 google¸¡º÷(Ethna_DB_PDO)
- 5 google¸¡º÷(Class 'PDO' not found)
- 4 http://pukiwiki.sourceforge.jp/?¼«ºî¥×¥é¥°¥¤¥ó/cou...
- 3 google¸¡º÷(class/DB/Ethna_DB_PEAR )
- 3 google¸¡º÷( Class not found ZEND)
- 3 google¸¡º÷(Ethna_DB_PDO.php)
- 3 google¸¡º÷(ethna ¥µ¥ó¥×¥ë)
- 3 google¸¡º÷(ethna ¥µ¥ó¥×¥ë)
- 3 google¸¡º÷(Fatal error: Class 'PDO' not found)
- 3 google¸¡º÷(Ethna_DB_PDO)
- 3 google¸¡º÷(Class 'PDO' not found)
- 3 google¸¡º÷(ethna_db_adodb)
- 3 google¸¡º÷(ethna Fatal error: Class not found in /usr/share/php/Ethna/class)
- 3 google¸¡º÷(Class 'PDO' not found)
- 3 http://www.google.co.jp/hws/search?hl=ja&q=Fatal e...
- 2 http://www.revulo.com/notify-NotifyUser_NONE_07121...
- 2 google¸¡º÷(PDO¡¡mysql ¥µ¥ó¥×¥ë)
- 2 google¸¡º÷(php ethna¡¡¥µ¥ó¥×¥ë)
- 2 google¸¡º÷(t)
- 2 google¸¡º÷(Class 'PDO' not found in )
- 2 google¸¡º÷(Ethna_DB_PDO.tar.gz)
- 2 google¸¡º÷(Fatal error: Class 'PDO' not found)
- 2 google¸¡º÷(Class 'PDO' not found)
- 2 google¸¡º÷(php pdo ¥µ¥ó¥×¥ë)
- 2 google¸¡º÷(ethna pdo)
- 2 google¸¡º÷(Ethna_DB_PDO)
- 2 google¸¡º÷(t)
- 2 google¸¡º÷(t)
- 2 google¸¡º÷(ruby wget ¥µ¥ó¥×¥ë)
- 2 google¸¡º÷(php ethna ¥µ¥ó¥×¥ë)
- 2 google¸¡º÷(pdo db fetch)
- 2 google¸¡º÷(pdo ¥µ¥ó¥×¥ë)
- 2 google¸¡º÷(ethna sql)
- 2 google¸¡º÷(ethna db fetch)
- 2 google¸¡º÷(ethna App¥ª¥Ö¥¸¥§¥¯¥È)
- 2 google¸¡º÷(PDO ¥µ¥ó¥×¥ë)
- 2 google¸¡º÷(PDO¡¡¥µ¥ó¥×¥ë execute)
- 2 google¸¡º÷(Class 'PDO' not found)
- 2 google¸¡º÷(Class 'Sample_Controller' not found)
- 2 google¸¡º÷(Class 'PDO' not found )
- 2 google¸¡º÷(·Ç¼¨ÈÄ PDO ¥µ¥ó¥×¥ë)
- 2 google¸¡º÷(Ethna_DB_ADOdb)
- 2 google¸¡º÷(Fatal error: Class 'PDO' not found)
- 2 google¸¡º÷(Ethna_DB_PDO)
- 2 google¸¡º÷(pdo ethna)
- 2 google¸¡º÷(ethna ¥µ¥ó¥×¥ë)
- 2 google¸¡º÷(PDO ¥µ¥ó¥×¥ë)
- 2 google¸¡º÷(Fatal error: Class 'PDO' not found in )
- 2 google¸¡º÷(Fatal error: Class 'PDO' not found in)
- 2 google¸¡º÷(Fatal error: Class 'PDO' not found )
- 2 google¸¡º÷(Fatal error: Class 'PDO' not found)
- 2 google¸¡º÷(Fatal error: Class 'PDO' not found)
- 2 google¸¡º÷(Fatal error: Class 'PDO' not found)
- 2 google¸¡º÷(Fatal error: Class 'PDO')
- 2 google¸¡º÷(Ethna_DB_PDO )
- 2 google¸¡º÷(Ethna::raiseNotice)
- 2 google¸¡º÷(Class 'PDO' not found in)
- 2 google¸¡º÷(Class 'PDO' not found )
- 2 google¸¡º÷(Class 'PDO' not found)
- 2 google¸¡º÷(php ¥¯¥é¥¹ pdo)
- 2 google¸¡º÷(Ethna_DB_PEAR)
- 2 google¸¡º÷(Ethna_DB_ADOdb¡¡¥µ¥ó¥×¥ë)
- 2 http://www.google.co.jp/hws/search?q=Ethna not fou...
- 2 http://www.google.co.jp/hws/search?hl=ja&q=PDO ¥µ¥...
- 2 goo¸¡º÷(Ethna 'DB' not found in)
- 2 http://pukiwiki.sourceforge.jp/?cmd=read&page=¼«ºî...
- 2 http://72.14.235.104/search?q=cache:xucGKCiQbZQJ:w...
- 2 http://72.14.235.104/search?q=cache:mqU-aFksFnMJ:w...
- 2 http://72.14.235.104/search?q=cache:Nnv9zDo8stQJ:d...
- 2 http://209.85.175.104/search?q=cache:mqU-aFksFnMJ:...
- 1 http://www.google.fr/search?q=class pdo 'not found...
- 1 google¸¡º÷(Ethna ¥µ¥ó¥×¥ë¡¡)
- 1 google¸¡º÷(ethna mail)
- 1 google¸¡º÷(PDO¡¡query¡¡¥µ¥ó¥×¥ë)
- 1 google¸¡º÷(Ethna_DB_PDO.php)
- 1 google¸¡º÷(pdo »È¤Ã¤¿ ¥µ¥ó¥×¥ë)
- 1 google¸¡º÷(ethna ¥µ¥ó¥×¥ë)
- 1 google¸¡º÷(Zend Framework ¥Ç¡¼¥¿¥Ù¡¼¥¹¡¡¥ª¥Ö¥¸¥§¥¯¥È)
- 1 google¸¡º÷(Zend Db fetch)
- 1 google¸¡º÷(PHP class not found)
- 1 google¸¡º÷(PHP PDO ¥µ¥ó¥×¥ë)
- 1 google¸¡º÷(PDO ¥µ¥ó¥×¥ë)
- 1 google¸¡º÷(Ethna_DB_ADOdb)
- 1 google¸¡º÷(Class 'PDO' not found )
- 1 google¸¡º÷(Class 'Ethna_DB_PEAR' not found )
- 1 google¸¡º÷(Class '* not found)
- 1 google¸¡º÷(Class 'PDO' not found)
- 1 google¸¡º÷(- Class 'PDO' not found)
- 1 google¸¡º÷(ethna pdo)
- 1 google¸¡º÷(PHP PDO ¥µ¥ó¥×¥ë)
- 1 google¸¡º÷(Fatal error: Class 'DB' not found in)
- 1 google¸¡º÷(Ethna ¥µ¥ó¥×¥ë)
- 1 google¸¡º÷(php Class not found)
- 1 google¸¡º÷(PDO ¥µ¥ó¥×¥ë)
- 1 google¸¡º÷(Fatal error: Class 'PDO' not found in)
- 1 google¸¡º÷(php pdo ¥µ¥ó¥×¥ë)
- 1 google¸¡º÷(php ethna zend framework)
- 1 google¸¡º÷(php PDO ¥µ¥ó¥×¥ë)
