-
-
mysql_connect("localhost", "root","1981427") //連接位於localhost的伺服器,使用者名為root
- ?>
複製程式碼
連線再選擇資料庫
-
-
@mysql_select_db("test") //選擇資料庫mydb
- ?>
-
?>
?>
?>
- 複製程式碼
-
-
- 這樣就可以實現連接到資料庫了
-
- 運行程式碼出現:
call to undefined function 'mysql_connect()'… 失敗
這個提示function undefined是說沒有mysql_connect()函數,
-
解決方法:
將php_mysql.dll和libmysql.dll檔案拷貝至c:winntsystem32中(我漏了libmysql.dll)
找到php.ini中的;extension=php_mysql,去掉前面的";" 重啟伺服器
例1,conn.php檔碼:
$conn = @mysql_connect("localhost", "root", "root") or die("資料庫連結錯誤" );mysql_select_db("data", $conn);//data為資料庫名稱 mysql_query("set names 'gbk'"); //使用gbk中文編碼;- ?>
-
-
-
- 複製程式碼
-
-
-
index.php文件代碼:
include("conn.php");//引入conn.php檔案
$sql="select * from from from `table` order by id desc"; $query=mysql_query($sql); while($row=mysql_fetch_array($query)){- ?>
-
-
-
-
複製程式碼
顯示資料內容:
=$row[user]?>
} ?>
複製程式碼-
-
-
- php連接mysql資料庫
-
-
- 方法一:普通方法(面向過程)
-
- 首先,資料庫使用者資訊:
-
-
-
-
//生成一個連接 $db_connect=mysql_connect($dbhost,$username,$userpass) or die(" unable to connect to the mysql!"); //選擇一個需要操作的資料庫 mysql_select_db($dbdatabase,$db_connect); //執行$result=mysql_query("select id,name from user");
//擷取資料 $row=mysql_fetch_row($result); 複製程式碼
補充:
①在mysql_connect()、mysql_select_db()等函數之前使用@(錯誤控制運算子),可以忽略掉系統產生的錯誤訊息,然後我們用die()來自訂錯誤訊息;
②提取資料時,除了上面的mysql_fetch_row,常見的還有mysql_fetch_assoc和mysql_fetch_array,具體差別請查閱php manual;-
- ③對於mysql_query()函數的回傳值,如果執行的語句有回傳值(如select、show、describe等),則傳回對應資料(成功時)或false(失敗時);如果執行的語句沒有傳回值(如delete、drop、insert、update等),則傳回true(成功時)或false(失敗時)。
-
-
- 方法二:php物件導向方法連接mysql資料庫
-
-
- 其實這種方法和普通方法非常類似,只是把對應的函數換成了物件導向方法,直接看程式碼。
-
-
$db=new mysqli($dbhost,$username,$userpass,$dbdatabase); if(mysqli_connect_error()){ echo 'could not connect to database.';exit;} $result=$db->query("select id,name from user");$row= $result->fetch_row(); 複製程式碼這裡用到的是mysqli,意思就是mysql的擴展,既可以透過過程導向的方式也可以透過物件導向的方式與資料庫進行交互,唯一不同的是呼叫函數(物件方法)的方式不一樣。
方法三:php pdo方法連接mysql資料庫
pdo其實是php database objects的縮寫,中文即php資料庫物件。它提供了一種統一的php與資料庫互動的方法。
這是目前比較流行的一種連接資料庫的方法。它的優點在於:只要正確提供資料來源,餘下對於資料庫的基本操作都是一樣的。也就是說,同一段程式碼既可以同mysql交互,也可以和sqlite3交互,當然也可以和postgresql進行交互,前提是你提供了正確的資料來源。
連接mysql的程式碼:
-
-
$dsn='mysql:host='.$dbhost.';dbname='.$dbdatabase.';'
- $dbh=new pdo($dsn,$username,$userpass);
sqlite3:
- $dsn='sqlite3:"c:sqliteuser.db"';
- $dbh=new pdo($dsn);
postgresql:
- $dsn='pgsql:host='.$dbhost.' port=5432 dbname='.$dbdatabase. ' user='.$username.' password='.$userpass;
- $dbh=new pdo($dsn);
-
-
複製程式碼
跟資料庫成功建立連線之後,以下只需要從資料庫取得資料或插入更新資料。
sql程式碼:
-
- $stmt=$dbh->query('select id,name from user');
- $row=$stmt->fetch() ;
複製程式碼
|