本文目錄一覽:
php怎樣優雅的使用mysql數據庫連接
PHP連接mysql使用mysql_connect函數即可進行與mysql數據庫之間的通訊。如果連接成功,則返回一個 MySQL 連接標識,失敗則返回 FALSE。示例如下:?php $host=”localhost”;//mysql主機地址$user=”root”; //mysql 登錄賬戶$pwd=””; //mysql登錄密碼//連接數據庫$conn = mysql_connect($host,$user,$pwd);//判斷if (!$conn) { die(‘連接數據庫失敗: ‘ . mysql_error()); }echo “mysql 連接成功!”; //其他代碼…… // 關閉mysql連接mysql_close($conn);?
PHP同時連接多個mysql數據庫示例代碼
這篇文章主要介紹了PHP同時連接多個mysql數據庫的具體實現,需要的朋友可以參考下
實例:
代碼如下:
?php
$conn1
=
mysql_connect(“127.0.0.1”,
“root”,”root”,”db1″);
mysql_select_db(“db1”,
$conn1);
$conn2
=
mysql_connect(“127.0.0.1”,
“root”,”root”,”db2″);
mysql_select_db(“db2”,
$conn2);
$sql
=
“select
*
from
ip”;
$query
=
mysql_query($sql);
if($row
=
mysql_fetch_array($query))
echo
$row[0].”n”;
$sql
=
“select
*
from
web
“;
$query
=
mysql_query($sql);
if($row
=
mysql_fetch_array($query))
echo
$row[0];
?
這段代碼存在問題,在程序執行時會報錯:PHP
Warning:
mysql_fetch_array()
expects
parameter
1
to
be
resource,
boolean
given
in
….
原因分析:
程序開始建立兩個數據庫鏈接,函數mysql_query()原型:
resource
mysql_query
(
string
$query
[,
resource
$link_identifier
]
)
向與指定的連接標識符關聯的服務器中的當前活動數據庫發送一條查詢。如果沒有指定
link_identifier,則使用上一個打開的連接。如果沒有打開的連接,本函數會嘗試無參數調用
mysql_connect()
函數來建立一個連接並使用之。查詢結果會被緩存。
在本例中由於沒有指定link_identifier,所以,在執行第一條sql時,默認使用的是上一個打開的鏈接,即$conn2,而實際上第一條sql語句應該使用的是$conn1,所以導致報錯,所以為了能夠鏈接多個mysql數據庫,可以使用如下方法:
方法1:在mysql_query函數中指定所用連接,即:
代碼如下:
?php
$conn1
=
mysql_connect(“127.0.0.1”,
“root”,”root”,”db1″);
mysql_select_db(“Muma”,
$conn1);
$conn2
=
mysql_connect(“127.0.0.1”,
“root”,”root”,”db2″);
mysql_select_db(“product”,
$conn2);
$sql
=
“select
*
from
ip”;
$query
=
mysql_query($sql,$conn1);
//添加連接$conn1
if($row
=
mysql_fetch_array($query))
echo
$row[0].”n”;
$sql
=
“select
*
from
web
“;
$query
=
mysql_query($sql,
$conn2);
if($row
=
mysql_fetch_array($query))
echo
$row[0];
?
方法2:在sql語句中關聯所用數據庫,此時可以省略mysql_query的第二個參數,即:
代碼如下:
?php
$conn1
=
mysql_connect(“127.0.0.1”,
“root”,”root”,”db1″);
mysql_select_db(“db1”,
$conn1);
$conn2
=
mysql_connect(“127.0.0.1”,
“root”,”root”,”db2″);
mysql_select_db(“db2”,
$conn2);
$sql
=
“select
*
from
db1.ip”;
//關聯數據庫
$query
=
mysql_query($sql);
if($row
=
mysql_fetch_array($query))
echo
$row[0].”n”;
$sql
=
“select
*
from
db2.web
“;
$query
=
mysql_query($sql);
if($row
=
mysql_fetch_array($query))
echo
$row[0];
?
怎麼使用php代碼建立mysql數據庫
不提倡使用函數 mysql_create_db()。最好用 mysql_query() 來提交一條 SQL CREATE DATABASE 語句來替代。
如果 MySQL 擴展庫是基於 MySQL 4.x 客戶端庫建立的,則本函數不可用。
mysql_query(),很簡單啊。
mysql_query — 發送一條 MySQL 查詢
resource mysql_query ( string query [, resource link_identifier] )
mysql_query() 向與指定的連接標識符關聯的服務器中的當前活動數據庫發送一條查詢。如果沒有指定 link_identifier,則使用上一個打開的連接。如果沒有打開的連接,本函數會嘗試無參數調用 mysql_connect() 函數來建立一個連接並使用之。查詢結果會被緩存。
mysql_query() 僅對 SELECT,SHOW,EXPLAIN 或 DESCRIBE 語句返回一個資源標識符,如果查詢執行不正確則返回 FALSE。對於其它類型的 SQL 語句,mysql_query() 在執行成功時返回 TRUE,出錯時返回 FALSE。非 FALSE 的返回值意味着查詢是合法的並能夠被服務器執行。這並不說明任何有關影響到的或返回的行數。 很有可能一條查詢執行成功了但並未影響到或並未返回任何行。
?php
$link = mysql_pconnect(“localhost”,”root”,”我的密碼”);
$sql = “create database cao”;
mysql_query($sql,$link)or die(“失敗”);
echo “成功”;
?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/256549.html