當前位置:首頁 » 編程語言 » php資料庫

php資料庫

發布時間: 2022-01-29 14:20:58

A. php資料庫基礎有哪一些

$link=mysql_connect("資料庫地址","用戶名","密碼");//鏈接資料庫
mysql_query(「set names 文件編碼名稱」);//設置鏈接編碼//這個是通用的設置方式
mysql_set_charset("編碼名稱")//設置鏈接編碼
mysql_query(「use 資料庫名稱」)//選定資料庫名稱
mysql_select_db("資料庫名稱")//選定資料庫名稱
$result=mysql_query(" sql代碼")//執行sql代碼如果只是插入之類的返回true或者false 如果是select返回一個結果集合
mysql_error()//獲取資料庫執行失敗信息

B. php現在一般用什麼資料庫

可以這么說,php之所以強大就是因為資料庫,當然還有其他的用處,php和mysql 資料庫連接一起就成為了目前最好的組合 我們叫lamp,比如你注冊的用戶名 密碼 都是存儲在資料庫的,當你輸入的時候就和資料庫的數據進行比對,等等

C. php+mysql如何讀取資料庫數據

先配置資料庫------連接資料庫--------選擇資料庫--------填寫檢索表-------輸出檢索內容

D. php資料庫

$conf = array('pconnect' => '0','database' => 'mysql','dbserver' => 'localhost','dbuser' => 'root','dbpass' => '','dbname' => 'jspace','dbcharset' => 'gbk','tablepre' => 'jspace4_','cookiepath' => '/','cookiedomain' => '');
這個不是說的很明白了嗎
database mysql
dbserver localhost
dbuser root
dbpass dbname

E. 怎麼將php與資料庫連接

php鏈接mysql必備條件:
已安裝mysql資料庫;

檢查php環境是否已開啟mysql擴展(一般情況下是開啟的);
檢查方法:a.使用phpinfo();函數,看有沒有mysql項;b.打開php.ini文件,檢查php_mysql.dll前分號是否已取掉。
php鏈接代碼如下:
<?php
//設置編碼格式
header("Content-type:text/html;charset=utf-8");

//定義資料庫主機地址
$host="localhost";

//定義mysql資料庫登錄用戶名
$user="root";

//定義mysql資料庫登錄密碼
$pwd="";

//鏈接資料庫
$conn = mysql_connect($host,$user,$pwd);

//對連接進行判斷
if(!$conn){
die("資料庫連接失敗!".mysql_errno());
}else{

echo "資料庫連接成功!";
}
?>

F. 關於PHP資料庫

PHP調用三種資料庫的方法

本文比較詳細的介紹PHP調用MySQL、ODBC以及ORACLE資料庫。

MySQL是一個小巧靈瓏的資料庫伺服器軟體,對於中、小型應用系統是非常理想的。除了支持標準的ANSI SQL語句外,最重要的是,它還支持多種平台,而在Unix/Linux系統上,MySQL支持多線程運行方式,從而能獲得相當好的性能。它和PHP、 Apache一樣,是屬於開放源代碼軟體。其官方網站是:http://www.mysql.com,上面提供Windows,Linux,Unix版本的源代碼的下載。

注意,MySQL訪問函數都需要有相應的許可權才能運行。常用的相關函數介紹如下:

(1)integer mysql_connect(主機,用戶名,口令);

此函數開始一個對指定主機上的MySQL資料庫的連接。若該資料庫位於一個不同地埠,則在主機名後加上冒號和埠號。所有參數均為可選的,預設情況下分別對應為本地主機、用戶正在執行的腳本名和空。主機可以是IP地址或域名。

在腳本執行結束時,連接被自動關閉,也可以用mysql_close提前關閉。

(2)boolean mysql_create_db(資料庫名);

創建一個資料庫。注意必須用一個帶有創建資料庫許可權的帳號打開連接。

(3)boolean mysql_select_db(資料庫名,連接號);

選擇預設資料庫。

(4)integer mysql_query(SQL語句,連接號);

對指定資料庫進行查詢。如果SQL語句是select,則返回一個結果號,否則返回的值可以不理會。如果失敗,返回false.。

(5)array mysql_fetch_array(結果號);

取出下一行,返回一個數組.可以用數字下標訪問(第一個欄位是下標 0),也可以用字元串下標訪問(即使用各欄位名)。如已取了最後一行,返回 false.。

(6)mysql_fetch_row(結果號);

返回一個矩陣代表結果集中一行的所有域。每次調用都會產生下一行,直到沒有行剩下時返回false。每個域值都由一個從零開始的偏移量索引。這是從查詢中獲取結果的最快方法。

(7)integer mysql_num_rows(結果號);

返回結果集中行的數目

(8)integer mysql_num_fields(結果號);

返回結果集中域的數目。

(9)integer mysql_list_dbs();

向伺服器查詢資料庫列表。它返回一個結果指針,該指針可用於mysql_fetch_row函數及類似函數。

(10)mysql_list_tables(資料庫名);

獲取一個指向指定資料庫的表單列表的結果指針。該結果指針可用於任何從結果集中獲取行的函數。

(11)mysql_close(連接號);

關閉對資料庫的連接。連接必須是由mysql_connect打開的。該函數的使用不是嚴格必需的,因為在腳本結束時,所有非永久鏈路都會被自動關閉。

(12)mysql_pconnect(主機,用戶名,口令);

與mysql_connect完全相似,但建立一個"永久連接",該連接一經建立永不關閉,即使使用mysql_close函數或程序執行完畢也不關閉.下一次試圖建立永久連接時,系統如發現已存在一個永久連接,則直接返回該連接號而不重新創建。

下面是一個調用MYSQL資料庫並分頁顯示的例子。

<?

$pagesize = 5; //每頁顯示5條記錄

$host="localhost";

$user="user";

$password="psw";

$dbname="book"; //所查詢的庫表名;

//連接MySQL資料庫

mysql_connect("$host","$user","$password") or die("無法連接MySQL資料庫伺服器!");

$db = mysql_select_db("$dbname") or die("無法連接資料庫!");

$sql = "select count(*) as total from pagetest";//生成查詢記錄數的SQL語句

$rst = mysql_query($sql) or die("無法執行SQL語句:$sql !"); //查詢記錄數

$row = mysql_fetch_array($rst) or die("沒有更多的記錄!"); /取出一條記錄

$rowcount = $row["total"];//取出記錄數

mysql_free_result($rst) or die("無法釋放result資源!"); //釋放result資源

$pagecount = bcdiv($rowcount+$pagesize-1,$pagesize,0);//算出總共有幾頁

if(!isset($pageno)) {

$pageno = 1; //在沒有設置pageno時,預設為顯示第1頁

}

if($pageno<1) {

$pageno = 1; //若pageno比1小,則把它設置為1

}

if($pageno>$pagecount) {

$pageno = $pagecount; //若pageno比總共的頁數大,則把它設置為最後一頁

}

if($pageno>0) {

$href = eregi_replace("%2f","/",urlencode($PHP_SELF));//把$PHP_SELF轉換為可以在URL上使用的字元串,這樣的話就可以處理中文目錄或中文文件名

if($pageno>1){//顯示上一頁的褳接

echo "<a href="" . $href . "?pageno=" . ($pageno-1) . "">上一頁</a> ";

}

else{

echo "上一頁";

}

for($i=1;$i<$pageno;$i++){

echo "<a href="" . $href . "?pageno=" . $i . "">" . $i . "</a> ";

}

echo $pageno . " ";

for($i++;$i<=$pagecount;$i++){

echo "<a href="" . $href . "?pageno=" . $i . "">" . $i . "</a> ";

}

if($pageno<$pagecount){//顯示下一頁的褳接

echo "<a href="" . $href . "?pageno=" . ($pageno+1) . "">下一頁</a> ";

}

else{

echo "下一頁 ";

}

$offset = ($pageno-1) * $pagesize;//算出本頁第一條記錄在整個表中的位置(第一條記錄為0)

$sql = "select * from pagetest LIMIT $offset,$pagesize";//生成查詢本頁數據的SQL語句

$rst = mysql_query($sql);//查詢本頁數據

$num_fields = mysql_num_fields($rst);//取得欄位總數

$i = 0;

while($i<$num_fields){//取得所有欄位的名字

$fields[$i] = mysql_field_name($rst,$i);//取得第i+1個欄位的名字

$i++;

}

echo "<table border="1" cellspacing="0" cellpadding="0">";//開始輸出表格

echo "<tr>";

reset($fields);

while(list(,$field_name)=each($fields)){//顯示欄位名稱

echo "<th>$field_name</th>";

}

echo "</tr>";

while($row=mysql_fetch_array($rst)){//顯示本頁數據

echo "<tr>";

reset($fields);

while(list(,$field_name)=each($fields)){//顯示每個欄位的值

$field_value = $row[$field_name];

if($field_value==""){

echo "<td> </td>";

}

else{

echo "<td>$field_value</td>";

}

}

echo "</tr>";

}

echo "</table>";//表格輸出結束

mysql_free_result($rst) or die("無法釋放result資源!");//釋放result資源

}

else{

echo "目前該表中沒有任何數據!";

}

mysql_close($server) or die("無法與伺服器斷開連接!");//斷開連接並釋放資源

?>

開放資料庫連接(ODBC)已成為一種與資料庫進行通信的工業標准。PHP也提供了標準的介面,使得PHP能調用Access,SQL SERVER等資料庫。其相關函數是:

(1)integer odbc_connect(string dsn, string user, string password)

連接到一個ODBC資料庫源名字上。

(2)integer odbc_exec(integer connection, string query)或 odbc_do(integer connection, string query)

在一個連接上執行查詢。

(3)boolean odbc_fetch_row(integer result, integer row)

從一個結果集中獲取一行數據。Row參數是可選的,若為空缺,則返回下一個有效行。在結果集中不再剩餘行時返回false。

(4)boolean odbc_close(integer connection)

關閉一個資料庫的連接。若在該連接上有打開的事務,則返回一個錯誤,而且連接不會被關閉。

最後,還是看個分頁的例子:

<?

//設定每頁顯示條數

$show_num = 10;

$spages = $pages;//避免$pages後期被改變

//定義連接

$dsn = "localhost";

$user = "sa";

$password = "";

//計算總記錄數

$rs_num = "select count(*) as id from bbs where zu='0' and lei='".$lei."'";

$conn_id = odbc_connect($dsn,$user,$password);

$rnum = odbc_exec($conn_id,$rs_num);

while(odbc_fetch_row($rnum)){

$total_rs = odbc_result($rnum,"id");//將總記錄數放入$total_rs變數

}

//計算與頁有關的條數

$nnn = $total_rs / $show_num;//計算總頁數

$hnnn = intval($nnn);//將總頁數取整

$cnnnn = $nnn - $hnnn;

//計算所需總頁數

switch ($cnnn){

case "0":

$hnnn++;

$nnn = $hnnn;//總頁數

break;

default :

$nnn = $hnnn;//總頁數

break;

};

if ($nnn == 0)$nnn++;

//計算頁面改變所需的條件

$fore = $pages;

$next = $pages;

$fore -= 1;

$next += 1;

if ($fore > 0) {

echo "<a>首頁</a>";

echo "<a>前頁</a>";

};

if ($pages < $nnn) {

echo "<a>後頁</a>";

echo "<a>尾頁</a>";

};

echo "共".$nnn."頁";

$query_string = "SELECT * FROM table where condition order by you wanted order";

$cur = odbc_exec($conn_id,$query_string);

//取到循環的頂部

$cnum = ($pages-1) * $show_num;//計算當前的記錄游標的位置

//空循環到顯示記錄游標處
if ($cnum != 0){

for ($i=0;$i<=$cnum;odbc_fetch_row($cur)){$i++;};

};

$i=1;

//顯示記錄

while(odbc_fetch_row($cur)){

echo ;

if ($i == $show_num){//在不滿頁數時跳出程序

break;

};

$i++;

};

//關閉連接

odbc_close($conn_id);

?>

Oracle(甲骨文)是世界上最為流行的關系資料庫。它是大公司推崇的工業化的強有力的引擎。我們先看看其相關的函數:

(1)integer ora_logon(string user , string password)

開始對一個Oracle資料庫伺服器的連接。

(2)integer ora_open(integer connection)

打開給出的連接的游標。

(3)integer ora_do(integer connection, string query)

在給出的連接上執行查詢。PHP生成一個指示器,解析查詢,並執行之。

(4)integer ora_parse(integer cursor, string query)

解析一個查詢並准備好執行。

(5)boolean ora_exec(integer cursor)

執行一個先前由ora_parse函數解析過的查詢。

(6)boolean ora_fetch(integer cursor)

此函數會使得一個執行過的查詢中的行被取到指示器中。這使得您可以調用ora_getcolumn函數。

(7)string ora_getcolumn(integer cursor, integer column)

返回當前的值。列由零開始的數字索引。

(8)boolean ora_logoff(integer connection)

斷開對資料庫伺服器的鏈接。

以下是向ORACLE資料庫插入數據的示常式序:

<html>

<head><title>向ORACLE資料庫中插入數據</title></head>

<body>

<form action="<?echo $PHP_SELF;?>" method="post">

<table border="1" cellspacing="0" cellpadding="0">

<tr>

<th>ID</th>

<th>name</th>

<th>Description</th>

</tr>

<tr>

<td><input type="text" name="name" maxlength="50" size="10"></td>

<td><input type="text" name="email" maxlength="255" size="30"></td>

<td><input type="text" name="Description" maxlength="255" size="50"></td>

</tr>

<tr align="center">

<td colspan="3"><input type="submit" value="提交"><input type="reset" value="重寫"></td>

</tr>

</table>

</form>

<?

//先設置兩個環境變數ORACLE_HOME,ORACLE_SID

putenv("ORACLE_HOME=/oracle/app/oracle/proct/8.0.4");

putenv("ORACLE_SID=ora8");

//設置網頁顯示中文

putenv("NLS_LANG=Simplified_Chinese.zhs16cgb231280");

if($connection=ora_logon("scott","tiger")) {

//庫表test有ID,name,Description三項

$sql = 'insert into test(ID,name,Description) values ';

$sql .= '('' . $ID . '','' . $name . '',''. $Description . '')';

if($cursor=ora_do($connect,$sql)) {

print("insert finished!");

}

$query = 'select * from test';

if($cursor=ora_do($connect,$query)) {

ora_fetch($cursor);

$content0=ora_getcolumn($cursor,0);

$content1=ora_getcolumn($cursor,1);

$content2=ora_getcolumn($cursor,2);

print("$content0");

print("$content1");

print("$content2");

ora_close($cursor);

}

ora_logoff($connection);

}

?>

</body>

</html>
通過PHP你可以輕松的連接到資料庫,請求數據並將其顯示在你的web站點中,甚至修改資料庫中的數據。 MySQL是一種很流行的資料庫,並且在互聯網中有許多有關PHP與MySQL的教程。MySQL是免費的,這一點也許就吸引了不少人。由於其廣泛應用, 我就不想在這里贅述MySQL的使用方法了。Oracle被大量在企業應用中採用,因此我們就利用Oracle來介紹PHP與資料庫的連接。我們當然不會 提及Oracle資料庫的設計原理,原因是這已經超出了我們的討論范圍。
PHP提供了兩套函數與Oracle連接,分別是ORA_和OCI函數。其中ORA_函數略顯陳舊。OCI函數更新據說更好一些。兩者的使用語法幾乎相差無幾。如前所述,你的PHP安裝選項應該可以支持兩者的使用。
想獲得更多有關在Microsoft Windows平台上安裝支持PHP3的Apache伺服器的知識以及更多有關Oracle資料庫的知識,請查閱以下URL:www.csoft.net/~vsbabu/articles/oraphp.html。
4.1 連接

if ($conn=Ora_Logon("user@TNSNAME","password"))
{
echo "SUCCESS ! Connected to database\n";
}
else
{
echo "Failed :-( Could not connect to database\n";
}
Ora_Logoff($conn);
phpinfo();
?>
以上代碼使用TNSNAME(在你的tnsnames.ora文件中指明)定義的Oracle資料庫名稱、用戶名稱和密碼連接資料庫。在成功連接的基礎上,ora_logon函數返回一個非零的連接ID並儲存在變數$conn中。

4.2 查詢

假設與資料庫已經連接就緒,下面我們就來實際的應用對資料庫的查詢。下面的代碼演示了一個連接並查詢的典型例子:
/*
* 連接資料庫並執行查詢
*/
function printoraerr($in_cur)
{
// 檢查Oracle是否出錯
// 如果存在錯誤則顯示
// 當指針被激活時每次請求Oracle後調用該函數
if(ora_errorcode($in_cur))
echo "Oracle code - ".ora_error($in_cur)."\n";
return;
}
/** 主程序 */
if (!($conn=ora_logon("user@TNSNAME","password")))
{
echo "Connection to database failed\n";
exit;
}
echo "Connected as connection - $conn
\n";
echo "Opening cursor ...
\n";
$cursor=ora_open($conn); printoraerr($cursor);
echo "Opened cursor - $cursor
\n";
$qry="select user,sysdate from al";
echo "Parsing the query $qry ...
\n";
ora_parse($cursor,$qry,0); printoraerr($cursor);
echo "Query parsed
\n";
echo "Executing cursor ...
\n";
ora_exec($cursor); printoraerr($cursor);
echo "Executed cursor
\n";
echo "Fetching cursor ...
\n";
while(ora_fetch($cursor))
{
$user=ora_getcolumn($cursor,0); printoraerr($cursor);
$sysdate=ora_getcolumn($cursor,1); printoraerr($cursor);
echo " row = $user, $sysdate
\n";
}
echo "Fetched all records
\n";
echo "Closing cursor ...
\n";
ora_close($cursor);
echo "Closed cursor
\n";
echo "Logging off from oracle...
\n";
ora_logoff($conn);
echo "Logged off from oracle
\n";
?>
(譯者註:以上代碼段缺少注釋,請讀者參考PHP Manual的Oracle資料庫函數部分)

4.3 顯示結果

以下代碼演示了怎樣查詢資料庫並將結果輸出:
function printoraerr($in_cur, $conn)
{
// 檢查Oracle是否出錯
// 如果存在錯誤則顯示
// 當指針被激活時每次請求Oracle後調用該函數
// If it encountered an error, we exit immediately
if(ora_errorcode($in_cur))
{
echo "Oracle code - ".ora_error($in_cur)."
n";
ora_logoff($conn);
exit;
}
return;
}

function exequery($w_qry,$conn)
{
$cursor=ora_open($conn); printoraerr($cursor,$conn);
ora_parse($cursor,$w_qry,0); printoraerr($cursor,$conn);
ora_exec($cursor); printoraerr($cursor,$conn);
$numrows=0;
$w_numcols=ora_numcols($cursor);
// 顯示頭部
echo "

\n";
for ($i=0;$i<$w_numcols;$i++)
{
$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";
echo "\t ".ora_columnname($cursor,$i)." \n";
}
echo "
\n";
while(ora_fetch($cursor))
{
echo " \n";
for ($i=0;$i<$w_numcols;$i++)
{
$align=(ora_columntype($cursor,$i)=="NUMBER")?"RIGHT":"LEFT";
if(ora_columntype($cursor,$i)=="LONG")
echo " ".
ora_getcolumn($cursor,$i)."
\n";
else
echo " ".ora_getcolumn($cursor,$i)." \n";
printoraerr($cursor,$conn);
}
$numrows++;
echo "
\n";
}
if ($numrows==0)
echo " Query returned no records

\n";
else
{
echo " \n";
echo " Count \n";
echo " $numrows \n";
echo "
\n";
}
echo " \n";
ora_close($cursor);
return;
}

// 主程序
if(!($conn=ora_logon("user@SID","password")))
{
echo "Error: Cannot connect to database\n";
exit;
}
$qry="SELECT
deptno \"Dept\"
,empno \"Emp\"
,empnm \"Name\"
,salary \"Salary\"
FROM
employee
ORDER BY 1,2";
exequery($qry);
ora_logoff($conn);
?>
(譯者註:以上代碼段缺少注釋,請讀者參考PHP Manual的Oracle資料庫函數部分)

4.4 基於HTTP的Oracle登錄

將以下代碼加在PHP頁面代碼之前以確認Oracle登錄。注意你必須正確設定$ SID。
if(!isset($PHP_AUTH_USER))
{
Header("WWW-authenticate: basic realm=\"$SID\"");
Header("HTTP/1.0 401 Unauthorized");
$title="Login Instructions";
echo "

You are not authorized to enter the site

\n";
exit;
}
else
{
if (!($conn=ora_logon("$PHP_AUTH_USER@$SID",$PHP_AUTH_PW)))
{
Header("WWW-authenticate: basic realm=\"$SID\"");
Header("HTTP/1.0 401 Unauthorized");
$title="Login Instructions";
echo "

You are not authorised to enter the site

\n";
exit;
}
}
?>

G. php+mysql是什麼意思

php+mysql是一種架構。

H. php如何取資料庫中內容

試編寫代碼如下:

<?php
//從資料庫根據id獲取顏色
functiongetColor($db,$id)
{
if($result=$db->query("SELECT*FROMcolorwhereid='".$id."'"))
{
$row=$result->fetch_assoc();
return$row['color'];
}
return'#000000';
}

$mysqli=newmysqli("localhost","test","test","room");

if($mysqli->connect_error){
printf("資料庫連接錯誤:%s ",mysqli_connect_error());
exit();
}

?>
<tableborder="1"cellspacing="0">
<tr>
<tdbgcolor="<?phpechogetColor($mysqli,'1')?>">1</td>
</tr>
<tr>
<tdbgcolor="<?phpechogetColor($mysqli,'2')?>">2</td>
</tr>
<tr>
<tdbgcolor="<?phpechogetColor($mysqli,'3')?>">3</td>
</tr>
</table>

<?php

$mysqli->close();

?>

I. php中MySQL怎樣打開和關閉資料庫表

用PHP打開資料庫的表,分為:先連接資料庫,然後選擇 MySQL 資料庫,查詢資料庫,最後關閉資料庫:

1. 連接資料庫:$link = mysql_connect("localhost", "mysql_user", "mysql_password") print ("Connected successfully");
2. 選擇資料庫: mysql_select_db($link, 'your_Database');
3. 查詢資料庫: mysql_query($your_query);
4. 關閉資料庫:mysql_close($link);

J. php的資料庫有什麼用

可以這么說,php之所以強大就是因為資料庫,當然還有其他的用處,php和mysql 資料庫連接一起就成為了目前最好的組合 我們叫lamp,比如你注冊的用戶名 密碼 都是存儲在資料庫的,當你輸入的時候就和資料庫的數據進行比對,等等。。。。

熱點內容
qb充值源碼 發布:2025-01-11 10:00:21 瀏覽:27
c語言元編程 發布:2025-01-11 09:53:02 瀏覽:342
線切割割圓怎麼編程 發布:2025-01-11 09:52:23 瀏覽:171
怎麼選女孩子的配置 發布:2025-01-11 09:47:33 瀏覽:670
python獲取header 發布:2025-01-11 09:47:32 瀏覽:492
iis7上傳大小 發布:2025-01-11 09:41:38 瀏覽:507
拍攝腳本是什麼工作 發布:2025-01-11 09:39:12 瀏覽:785
魅族安卓8什麼時候更新 發布:2025-01-11 09:27:58 瀏覽:362
電腦板我的世界登錄密碼多少 發布:2025-01-11 09:15:43 瀏覽:284
編譯原理和是非終結符嗎 發布:2025-01-11 09:15:42 瀏覽:252