http://jp.php.net/manual/en/function.mysql-connect.php
另外還有 escape 的原因而被建議用 PDO。
※ 引述《DarkKiller (System hacked)》之銘言:
: 文章會有點長,我先貼範例:
整個 PDO 的文件可以參考 http://jp.php.net/manual/en/book.pdo.php 這邊。
: <?php
: # Connect to database.
: $db = new PDO('mysql:dbname=mydb;host=mydbhost.example.com', 'user', 'pass');
new 是 constructor,文件是出自 PDO::__construct:
http://jp.php.net/manual/en/pdo.construct.php
第一個參數是 DSN,對於 MySQL 來說主要就是提供 dbname 與 host 兩個參數:
http://jp.php.net/manual/en/ref.pdo-mysql.php
對於 SQLite 則包括了 file 與 memory 兩種方式:
http://jp.php.net/manual/en/ref.pdo-sqlite.php
http://jp.php.net/manual/en/ref.pdo-sqlite.connection.php
# memory 的方式,"sqlite:" 與 ":memory:" 的結合,所以中間是 "::" 沒錯:
$db = new PDO('sqlite::memory:');
# file 的方式:
$db = new PDO('sqlite:/tmp/test.sq3');
: # Use prepare() to generate PDOStatement object.
: $p = $db->prepare('SELECT * FROM `user` WHERE `id` = ?;');
剛開始用 PDO 的人會比較不習慣的地方,使用 PDO 時如果要取得資料,需要先產生
PDOStatement 物件。
: # Use execute() to run it.
: $p->execute(array(1));
然後再對 PDOStatement 物件帶入參數。
: # Then fetch it, return object.
: $obj = $p->fetch(PDO::FETCH_OBJ);
接下來才是對物件取出資料。
: # Use property to access.
: printf("ID: %d\n", $obj->id);
: printf("Username: %s\n", $obj->username);
這邊是說明用 PDO::FETCH_OBJ 取得的資料可以物件的方式存取。
: # Execute again, with id = 2.
: $p->execute(array(2));
同一個 PDOStatement 可以再次 execute。
: # We want array this time.
: $a = $p->fetch(PDO::FETCH_ASSOC);
然後再拉資料出來。
: # Use array to access.
: printf("ID: %d\n", $a['id']);
: printf("Username: %s\n", $a['username']);
這次是說明用 PDO::FETCH_ASSOC 取出來後可以用 array 的方式存取。
: # Generate another PDOStatement object.
: $p2 = $db->prepare('INSERT INTO `user` SET `id` = ?, `username` = ?;');
這邊是示範多參數。
: # Insert it.
: $p2->execute(array(1, 'gslin'));
: # Again.
: $p2->execute(array(2, 'in2'));
然後執行兩次。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.121.80.241
現在一般常常鼓勵用 PDO 連 MySQL,主要的原因是 mysql_* 已經被 PHP 5.5+ 宣告
為 deprecated: