本文目錄一覽:
PHP怎麼連接MySQL
PHP連接mysql數據庫是PHP新手們必須要掌握的一項技能,只要掌握了PHP對數據庫進行增刪改查等操作,就可以寫出一些簡單且常見的程序。如留言表,新聞頁等。本篇文章主要給大家詳細介紹PHP連接Mysql數據庫的兩種常用方法。
下面我們通過具體的代碼示例來給大家詳細介紹兩種PHP連接mysql數據庫的方法。
mysqli連接數據庫和pdo連接數據庫。
第一種方法:使用mysqli連接mysql數據庫
代碼實例如下:
?php
$host=’127.0.0.1′;
$user=’root’;
$password=’root’;
$dbName=’php’;
$link=new mysqli($host,$user,$password,$dbName);
if ($link-connect_error){
die(”連接失敗:”.$link-connect_error);
}
$sql=”select * from admins”;
$res=$link-query($sql);
$data=$res-fetch_all();
var_dump($data);
在經過一系列的連接操作後,我們再創建一個sql語句對其中數據表進行查詢檢驗。在上述代碼中,我們要先創建一些需要用到的變量,如數據庫用戶名、數據庫名密碼等。然後我們用面向對象的方式連接了名為php的數據庫。再通過if條件語句,connect-error方法判斷PHP連接數據庫是否成功。
這裡我們先登錄phpmyadmin看看是否存在php數據庫,從下圖可以知道是存在php這個數據庫的。
最後通過瀏覽器訪問,結果如下圖:
從圖中可以得知,我們成功地連接了php數據庫,並且能查詢出數據表信息。
第二種方法:使用PDO連接數據庫
代碼示例如下:
?php
$host=’127.0.0.1′;
$user=’root’;
$password=’root’;
$dbName=’php’;
$pdo=new PDO(”mysql:host=$host;dbname=$dbName”,$user,$password);
$sql=”select * from admins”;
$data=$pdo-query($sql)-fetch();
var_dump($data);
PHP連接Mysql步驟以上就是關於PHP連接數據庫查詢數據的兩種常用方法詳解,更多相關教程請訪問php中文網mysql視頻教程,歡迎參考學習
使用php操作mysql數據庫主要包括哪些操作
$connection = @mysql_connect( ‘127.0.0.1:3306’, ‘root’, ‘111111’, true );
if( !$connection )
{
die(‘連接數據庫失敗’);
}
// dbname 你的數據庫名字
mysql_select_db( ‘dbname’, $connection ) or die(‘數據庫不存在’);
// sql 語句
$sqlString = ‘你的sql語句 select[delete][insert][update]…’;
$result = mysql_query( $sqlString, $connection );
// 只有delete insert update 語句使用以下代碼
$result = mysql_affected_rows( $connection );
return $result ? ‘操作成功’ : ‘操作失敗’;
// 只有select需要使用以下代碼
// 獲取一行數據
$rowArray = mysql_fetch_assoc( $result );
// 獲取多行數據請用
/*
while( $row = mysql_fetch_assoc( $result ) )
{
$resultArray[] = $row;
}
*/
// 打印結果集
var_dump($rowArray);
// 取其中某個字段 fieldname mysql字段名
// echo $rowArray[‘fieldname’];
PHP操作mysql數據庫的步驟
PHP訪問MySQL數據庫:
因為連接數據庫需要較長的時間和較大的資源開銷,所以如果在多個網頁中都要頻繁地訪問數據庫,則可以建立與數據庫的持續連接。即調用mysql_pconnect()代替mysql_connect()。
基本步驟:
1.連接服務器:mysql_connect();
2.選擇數據庫:mysql_select_db();
3.執行SQL語句:mysql_query();
查詢:select
顯示:show
插入:insert
into
更新:update
刪除:delete
4.關閉結果集:mysql_free_result($result);
5.關閉數據庫:mysql_close($link);
PHP中如何操作MySQL
在這種情況下,雖然省略了分號,但是 PHP 在執行 MySQL 命令時會自動的幫你加上的。另外還有一個不要加分號的情況。當你想把要字段的豎者排列顯示下來,而不是像通常的那樣橫着排列時,你可以用 G 來結束一行 SQL 語句,這時就用不上分號了,例如:SELECT * FROM PENPALS WHERE USER_ID = 1G TEXT、DATE、和 SET 數據類型MySQL 數據表的字段必須有定義一個數據類型。這有大約 25 種選擇,大部分都是直接明了的,就不多費口舌了。但有幾個有必要提一下。TEXT 不是一種數據類型,雖然可能有些書上是這麼說的。它實際上應該是“ LONG VARCHAR ”或者“ MEDIUMTEXT ”。DATE 數據類型的格式是 YYYY-MM-DD ,比如: 1999-12-08 。你可以很容易的用 date 函數來得到這種格式的當前系統時間: date(“Y-m-d”)並且,在 DATA 數據類型之間可以作減法,得到相差的時間天數:$age = ($current_date – $birthdate); 集合SET 是一個有用的數據類型,它和枚舉 ENUM 有點相似,只不過是 SET 能夠保存多個值而 ENUM 只能保存一個值而已。而且, SET 類型最多只能夠有 64 個預定的值,而 ENUM 類型卻能夠處理最多 65,535 個預定義的值。而如果需要有大於 64 個值的集合,該怎麼辦呢?這時就需要定義多個集合來一起解決這個問題了。通配符SQL 的通配符有兩種:“ * ”和“ % ”。分別用在不同的情況下。例如:如果你想看到數據庫的所有內容,可以像這樣來查詢:SELECT * FROM dbname WHERE USER_ID LIKE ‘%’; 這兒,兩個通配符都被用上了。他們表示相同的意思 ? 都是用來匹配任何的字符串,但是他們用在不同的上下文中。“ * ”用來匹配字段名,而“ % ”用來匹配字段值。另外一個不容易引起注意的地方是“ % ”通配符需要和 LIKE 關鍵字一起使用。還有一個通配符,就是下劃線“ _ ”,它代表的意思和上面不同,是用來匹配任何單個的字符的。NOT NULL 和空記錄一個值為 NULL 的紀錄和一個空紀錄是有一些區別的。 % 通配符可以匹配空紀錄,但是卻不能匹配 NULL 紀錄。在某些時候,這種區別會造成一些意想不到的後果。就我的經驗而言,任何字段都應該聲明為 NOT NULL 。這樣下面的 SELECT 查詢語句就能夠正常運轉了: if (!$CITY) {$CITY =”%”;}$selectresult = mysql_query (“SELECT * FROM dbname WHERE FIRST_NAME =’ 柳’ AND LAST_NAME =’ 如風’ AND CITY LIKE ‘$CITY’ “); 在第一行中,如果用戶沒有指定一個 CITY 值,那麼就會用通配符 % 來代入 CITY 變量,這樣搜索時就會把任何的 CITY 值都考慮進去,甚至包括那些 CITY 字段為空的紀錄。但是如果有一些紀錄,它的 CITY 字段值是 NULL ,這時問題就出現了。上面的查詢是不能夠找到這些字段的。問題的一個解決辦法可以是這樣: if (!$CITY) { $CITY =”%”; }$selectresult = mysql_query (“SELECT * FROM dbname WHERE FIRST_NAME =’ 柳’ AND LAST_NAME =’ 如風’ AND (CITY LIKE ‘$CITY’ OR CITY IS NULL)”); 注意在搜索 NULL 時,必須用“ IS ”關鍵字,而 LIKE 時不會正常工作的。
怎樣用PHP中的MySQL操作函數
1. 建立MySQL 連接:mysql_connect
resource mysql_connect([string $server[, string $username [, string $password [, bool $new_link [, int $client flags]]]]])
打開或重複使用一個到MySQL服務器的連接。其中,server代表MySQL服務器,可以包括端口號,例如“hostname:port”。username和password分別代表登錄MySQL服務器使用的用戶名和密碼。
2. 選擇 MySQL 數據庫:mysql_select_db
bool mysql_select_db(string $database_name[, resource $link_identifier])
設定與指定的連接標識符所關聯的服務器上的當前數據庫。如果沒有指定連接標識符,則使用上一個打開的連接。如果沒有打開的連接,本函數將無參數地調用mysql_connect()來嘗試打開一個數據庫連接。如果成功則返回true,失敗則返回false。每個其後的mysgl_query()調用都會作用於活動數據庫。
3. 執行查詢:mysql_query
resource mysql_query(string $query[, resource $link_identifier])
向與指定的連接標識的關聯的服務器中的當前活動數據庫發送一條查詢。如果沒有指定 link_identifier,則使用上一個打開的連接。如果沒有打開的連接,本函數會嘗試無參數地調用mysql_connect()函數來建立一個連接,查詢結果會被緩存。mysql_query()僅對SELECT、SHOW、EXPLAIN或DESCRIBE語句返回一個資源標識符,如果查詢執行不正確則返回false。對於其他類型的SQL語句,mysgl_query()在執行成功時返回true,出錯時返回false。非false的返回值意味着查詢是合法的並能夠被服務器執行但是並不說明任何影響到的或返回的行數。因為一條查詢執行成功了但並未影響到或並未返回任何行的情況是可能發生的。
4. 從結果集中取得一行作為枚舉數組:mysql_fetch_row
array mysql_fetch_row(resource $result)
從和指定的結果標識關聯的結果集中取得一行數據並作為數組返回。每個結果的列儲存在一個索引數組的單元中,偏移量從0開始。依次調用mysql_fetch_row()將返回結果集中的下一行,如果沒有更多行則返回false。
5. 從結果集中取得一行作為關聯數組,或數字數組,或二者兼有:mysql_fetch_array
array mysql_fetch_array(resource $result[, int $result_type])
mysql_fetch_row()的擴展版本。除了將數據以數字索引方式儲存在數組中之外,還可以將數據作為關聯索引儲存,用字段名作為鍵名。如果結果中出現字段名重名的現象,最後一列將優先。要訪問同名的其他列,必須用該列的數字索引或給該列起個別名。對有別名的列,用別名來訪問其內容。
6. 關閉 MySQL 連接:mysql_close
bool mysql_close([resource $link_identifier])
mysql_close()關閉指定的連接標識所關聯的到MySQL服務器的非持久連接。如果沒有指定link_identifier,則關閉上一個打開的連接。
例PHP中使用MySQL數據庫(mysql.php)
?php//連接MySQL數據庫
mysql_connect(‘localhost’, ‘root’, ‘123’);
//選擇當前數據庫
//等效為執行USE test
mysql_select_db(‘test’);
//在當前數據庫執行SQL語句
$query = “SELECT * FROM students”;
$result = mysql_query($query);
//操作上次查詢返回的結果集,注意$result變量一般是需要的
while($student = mysql_fetch_array($result)) {
echo ‘pre’;
print_r($student);
echo ‘/pre’;
}
?
原創文章,作者:PPBU,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/131329.html