ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

ÈçºÎʹÓÃPDOÁ¬½ÓÊý¾Ý¿â£¬²Ù×÷Êý¾Ý¿â(Ò»)
2014-11-24 01:45:51 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:454´Î
Tags£ºÈçºÎ ʹÓà PDO Á¬½Ó Êý¾Ý¿â ²Ù×÷

< php
$dbms=¡¯mysql¡¯; //Êý¾Ý¿âÀàÐÍ Oracle ÓÃODI,¶ÔÓÚ¿ª·¢ÕßÀ´Ëµ£¬Ê¹Óò»Í¬µÄÊý¾Ý¿â£¬Ö»Òª¸ÄÕâ¸ö£¬²»ÓüÇסÄÇô¶àµÄº¯ÊýÁË
$host=¡¯localhost¡¯; //Êý¾Ý¿âÖ÷»úÃû
$dbName=¡¯test¡¯; //ʹÓõÄÊý¾Ý¿â
$user=¡¯root¡¯; //Êý¾Ý¿âÁ¬½ÓÓû§Ãû
$pass=¡±; //¶ÔÓ¦µÄÃÜÂë
$dsn=¡±$dbms:host=$host;dbname=$dbName¡±;
//


try {
$dbh = new PDO($dsn, $user, $pass); //³õʼ»¯Ò»¸öPDO¶ÔÏ󣬾ÍÊÇ´´½¨ÁËÊý¾Ý¿âÁ¬½Ó¶ÔÏó$dbh
echo ¡±Á¬½Ó³É¹¦
¡±;
/*Ä㻹¿ÉÒÔ½øÐÐÒ»´ÎËÑË÷²Ù×÷
foreach ($dbh->query(¡®SELECT * from FOO¡¯) as $row) {
print_r($row); //Äã¿ÉÒÔÓà echo($GLOBAL); À´¿´µ½ÕâЩֵ
}
*/
$dbh = null;
} catch (PDOException $e) {
die (¡°Error!: ¡± . $e->getMessage() . ¡±
¡±);
}
//ĬÈÏÕâ¸ö²»Êdz¤Á¬½Ó£¬Èç¹ûÐèÒªÊý¾Ý¿â³¤Á¬½Ó£¬ÐèÒª×îºó¼ÓÒ»¸ö²ÎÊý£ºarray(PDO::ATTR_PERSISTENT => true) ±ä³ÉÕâÑù£º
$db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));


>


¡ïÊý¾Ý¿â²éѯ£º
ÉÏÃæÎÒÃÇÒѾ­½øÐÐÁËÒ»´Î²éѯ£¬ÎÒÃÇ»¹¿ÉÒÔʹÓÃÈçϵIJéѯ£º
< php
$db->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER); //ÉèÖÃÊôÐÔ
$rs = $db->query(¡°SELECT * FROM foo¡±);
$rs->setFetchMode(PDO::FETCH_ASSOC);
$result_arr = $rs->fetchAll();
print_r($result_arr);
>


ÒÔÉÏÒòΪÓõ½setAttribute()·½·¨£¬·ÅÉÏÄÇÁ½¸ö²ÎÊý£¬°Ñ×Ö¶ÎÃûÇ¿ÖÆת»»³É´óд¡£ÏÂÃæÁгö¶àÓÐPDO::setAttribute()µÄ²ÎÊý£º
PDO::ATTR_CASE: Ç¿ÖÆÁÐÃû±ä³ÉÒ»ÖÖ¸ñʽ£¬ÏêϸÈçÏÂ(µÚ¶þ¸ö²ÎÊý)£º
o PDO::CASE_LOWER: Ç¿ÖÆÁÐÃûÊÇСд.
o PDO::CASE_NATURAL: ÁÐÃû°´ÕÕԭʼµÄ·½Ê½
o PDO::CASE_UPPER: Ç¿ÖÆÁÐÃûΪ´óд.
PDO::ATTR_ERRMODE: ´íÎóÌáʾ.
o PDO::ERRMODE_SILENT: ²»ÏÔʾ´íÎóÐÅÏ¢£¬Ö»ÏÔʾ´íÎóÂë.
o PDO::ERRMODE_WARNING: ÏÔʾ¾¯¸æ´íÎó.
o PDO::ERRMODE_EXCEPTION: Å׳öÒì³£.
PDO::ATTR_ORACLE_NULLS (²»½ö½öÊÇORACLEÓÐЧ£¬±ðµÄÊý¾Ý¿âÒ²ÓÐЧ): £©Ö¸¶¨Êý¾Ý¿â·µ»ØµÄNULLÖµÔÚphpÖжÔÓ¦µÄÊýÖµ¡£
o PDO::NULL_NATURAL: ²»±ä.
o PDO::NULL_EMPTY_STRING: Empty string is converted to NULL.
o PDO::NULL_TO_STRING: NULL is converted to an empty string.
PDO::ATTR_STRINGIFY_FETCHES: Convert numeric values to strings when fetching. Requires bool.


PDO::ATTR_STATEMENT_CLASS: Set user-supplied statement class derived from PDOStatement. Cannot be used with persistent PDO instances. Requires array(string classname, array(mixed constructor_args)).
PDO::ATTR_AUTOCOMMIT (available in OCI, Firebird and MySQL): Whether to autocommit every single statement.
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (available in MySQL): Use buffered queries.
Àý×ÓÖеÄ$rs->setFetchMode(PDO::FETCH_ASSOC);ÊÇPDOStatement::setFetchMode()£¬¶Ô·µ»ØÀàÐ͵ÄÉùÃ÷¡£
ÓÐÈçÏ£º
PDO::FETCH_ASSOC ¨C ¹ØÁªÊý×éÐÎʽ
PDO::FETCH_NUM ¨C Êý×ÖË÷ÒýÊý×éÐÎʽ
PDO::FETCH_BOTH ¨C Á½ÕßÊý×éÐÎʽ¶¼ÓУ¬ÕâÊÇȱʡµÄ
PDO::FETCH_OBJ ¨C °´ÕÕ¶ÔÏóµÄÐÎʽ£¬ÀàËÆÓÚÒÔÇ°µÄ mysql_fetch_object()


¸ü¶à·µ»ØÀàÐÍÉùÃ÷(PDOStatement::·½·¨Ãû)¿´Êֲᡣ


¡ï²åÈ룬¸üУ¬É¾³ýÊý¾Ý£¬
$db->exec(¡°DELETE FROM `xxxx_menu` where mid=43¡å);
¼òµ¥µÄ×ܽáÒ»ÏÂÉÏÃæµÄ²Ù×÷:
²éѯ²Ù×÷Ö÷ÒªÊÇPDO::query()¡¢PDO::exec()¡¢PDO::prepare()¡£
PDO::query()Ö÷ÒªÊÇÓÃÓÚÓмǼ½á¹û·µ»ØµÄ²Ù×÷£¬ÌرðÊÇSELECT²Ù×÷£¬
PDO::exec()Ö÷ÒªÊÇÕë¶ÔûÓнá¹û¼¯ºÏ·µ»ØµÄ²Ù×÷£¬±ÈÈçINSERT¡¢UPDATE¡¢DELETEµÈ²Ù×÷£¬Ëü·µ»ØµÄ½á¹ûÊǵ±Ç°²Ù×÷Ó°ÏìµÄÁÐÊý¡£
PDO::prepare()Ö÷ÒªÊÇÔ¤´¦Àí²Ù×÷£¬ÐèҪͨ¹ý$rs->execute()À´Ö´ÐÐÔ¤´¦ÀíÀïÃæµÄSQLÓï¾ä£¬Õâ¸ö·½·¨¿ÉÒ԰󶨲ÎÊý£¬¹¦ÄܱȽÏÇ¿´ó£¬²»ÊDZ¾ÎÄÄܹ»¼òµ¥ËµÃ÷°×µÄ£¬´ó¼Ò¿ÉÒԲο¼ÊÖ²áºÍÆäËûÎĵµ¡£
»ñÈ¡½á¹û¼¯²Ù×÷Ö÷ÒªÊÇ£ºPDOStatement::fetchColumn()¡¢PDOStatement::fetch()¡¢PDOStatement::fetchALL()¡£
PDOStatement::fetchColumn() ÊÇ»ñÈ¡½á¹ûÖ¸¶¨µÚÒ»Ìõ¼Ç¼µÄij¸ö×ֶΣ¬È±Ê¡ÊǵÚÒ»¸ö×ֶΡ£
PDOStatement::fetch() ÊÇÓÃÀ´»ñÈ¡Ò»Ìõ¼Ç¼£¬
PDOStatement::fetchAll()ÊÇ»ñÈ¡ËùÓмǼ¼¯µ½Ò»¸öÖУ¬»ñÈ¡½á¹û¿ÉÒÔͨ¹ýPDOStatement::setFetchModeÀ´ÉèÖÃÐèÒª½á¹û¼¯ºÏµÄÀàÐÍ¡£
ÁíÍâÓÐÁ½¸öÖܱߵIJÙ×÷£¬Ò»¸öÊÇPDO::lastInsertId()ºÍPDOStatement::rowCount()¡£PDO::lastInsertId()ÊÇ·µ»ØÉϴβåÈë²Ù×÷£¬Ö÷¼üÁÐÀàÐÍÊÇ×ÔÔöµÄ×îºóµÄ×ÔÔöID¡£
PDOStatement::rowCount()Ö÷ÒªÊÇÓÃÓÚPDO::query()ºÍPDO::prepare()½øÐÐDELETE¡¢INSERT¡¢UPDATE²Ù×÷Ó°ÏìµÄ½á¹û¼¯£¬¶ÔPDO::exec()·½·¨ºÍSELECT²Ù×÷ÎÞЧ¡£


¡ïÊÂÎñºÍ×Ô¶¯Ìá½»


ÖÁ´Ë£¬ÄúÒѾ­Í¨¹ý PDO Á¬½Óµ½ÁË mysql£¬ÔÚ·¢³ö²éѯ֮ǰ£¬ÄúÓ¦¸ÃÀí½â PDO ÊÇÈçºÎ¹ÜÀíÊÂÎñµÄ¡£Èç¹û֮ǰû

Ê×Ò³ ÉÏÒ»Ò³ 1 2 ÏÂÒ»Ò³ βҳ 1/2/2
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£ºÊäÈëÒ»¸ö×Ö·û´®£¬½«ÆäÄæÐòºóÊä³ö.. ÏÂһƪ£ºOracle»ù´¡ÃæÊÔÌâ

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿