❶ php 怎麼鏈接多個資料庫 並且做兩個資料庫的兩個表關聯查詢
也許是我孤陋寡聞了,似乎沒有辦法跨庫關聯查詢吧。如果非要跨庫關聯,我能想到的辦法就是把兩邊的數據查詢出來並存入一個臨時表,再查詢臨時表。不過這種方法只是用於不同庫中相同或相似的表,比如有的數據量較大的分庫項目。
在回過頭來看你的項目需求,其實根本不需要跨庫的。首先在任意一個庫里創建一個表,在發送會議信息給會員的時候,除了這個表的主鍵之外,只需要記錄會員的id和會議的id,這兩個id分別從兩個庫里獲取。
你如果要查看某條會議信息發送的詳情,就通過這兩個id分別從兩個庫里獲取會員信息和會議信息。
你如果要查詢出列表,用笨辦法,因為你這個表肯定和會員或會議其中一個在一個庫了,可以關聯,然後在列表循環中逐條查詢另一個數據,雖然這樣有些影響性能,但是也比「跨庫關聯查詢」好點,況且如果數據多的話,一般都是分頁操作的話,一個列表最多二三十條記錄,一次查詢二三十也不會有太大影響。
另一個笨辦法,就是把發送記錄列表中所有需要列出的欄位都記錄在發送會議信息的記錄表裡,這樣就不需要在循環查詢另一個表了。但缺點就是這裡面的數據就不能和會員以及會議信息的數據同步,除非你在更新會員以和會議信息的數據的同時更新這個表的數據。
但不管用哪種方式,我覺得都比「跨庫關聯查詢」要好,即使真的有「跨庫關聯查詢」的方法。
❷ php 如何關聯,兩個數據表裡邊的數據
要有主外鍵對應才能關聯比如 a.iad = b.id (a表中的iad欄位等於b表中的id)就能關聯
❸ php如何關聯兩個或者多個數據表
至少三個方法可以實現:
一、使用視圖來實現多表聯合查詢,
例如:創建視圖:create view userstoposts as select u.name,u.qq,p.post_id,p.title, p.contents, p.contents from users as u,posts as p where u.name=p.name
二、直接使用表聯合查詢
例如:select u.name,u.qq,p.* from users as u,posts as p where u.name=p.name
三、結合PHP語言實現
例:1、
<?php
$Sql="select *from posts";
$Result=@mysql_query($Sql);
while($rows=mysql_fetch_assoc($Result)){
$sql1="select name,qq from users where name='".$rows['name']."'";
$result1=@mysql_query($sql1);
$rows1=mysql_fetch_assoc($result1);
$OUTPUT[]=array(
'name'=>$rows['name'],
'qq'=>$rows1['qq'],
'post_id'=>$rows['post_id'],
'title'=>$rows['title'],
'contents'=>$rows['contents']
);
}
print_r($OUTPUT);//可以你需要的結果輸出
?>
❹ PHP與資料庫連接的方式有哪些
1.最簡單的方式
<?php$con = mysql_connect("localhost","root","");if (!$con) { die('Could not connect: ' . mysql_error()); }mysql_close($con);?>
2.面向對象mysqli(詳細教程)
<?php$mysqli = new mysqli('localhost','root','','volunteer');if (mysqli_connect_errno()){ die('Unable to connect!'). mysqli_connect_error();}?>
3.pdo連接mysql(詳細教程)
<?php $db = new PDO('mysql:host=localhost;dbname=test', 'root', '');try { foreach ($db->query('select * from user') as $row){ print_r($row); } $db = null; //關閉資料庫} catch (PDOException $e) { echo $e->getMessage();}?>
4.ADODB連接mysql(詳細教程)
<?phprequire_once './adodb5/adodb.inc.php';$conn = &ADONewConnection('mysql');$conn->connect('localhost','root','','test');$conn->Execute("set names utf8");$res = $conn->Execute("select * from user");if (!$res){ echo $conn->ErrorMsg();}else{ var_mp($res);}?>
❺ php是怎麼聯系資料庫的,還有就是html中的變數和資料庫是怎麼關聯謝謝!
php中有連接資料庫的方法,$link
=
mysql_connect('
localhost
','root','root')
or
die(mysql_errno());
mysql_select_db
('test')
or
die
(mysql_errno());
mysql_query('SET
NAMES
gbk');
$sql
=
"SELECT
*
FROM
test
LIMIT
0,20";
$result
=
mysql_query($sql)
or
die(mysql_errno());
while($msg
=
mysql_fetch_array($result)){
print_r
($msg);
}
mysql_free_result($result);
mysql_close
($link);
html的中的變數可以通過form表單把
變數值
傳到php中進行連庫操作,例如
那麼在a.php中就這樣接收這個參數
$username=$_POST['username'];
然後再進行連庫操作
❻ PHP 資料庫有三張表,如何關聯
不需要你重建啊,php資料庫,用的是MySQL吧?
建議創建一個view 將3表數據關聯,通過主鍵信息納入view 方便易用,資料庫資源還能合理利用
❼ php 下拉列表框 數據關聯
例子代碼如下:
mysql_connect();//地址、用戶、密碼
$sql='select username from db.user';
if ($res=mysql_query($sql)){
$options='';
while(list($u)=mysql_fetch_row($res)) $options.='<option>'.$u;
mysql_free_result($res);
}else $options='<option>資料庫查詢出錯SQL=$sql Error=".mysql_error();
mysql_close();
echo "<select>$options</select>";
❽ php如何同時向2個表插入數據關聯
1、數據插入成功後會返回一個ID,這個ID就是插入成功的這條數據的ID。設置一個變數接受。
例如:$did=「mysql插入語句」;
2、接受到了後就可以將獲取到的ID用另一條sql語句插入到另一個數據表中去了。
格式如下:
$did=「mysql插入語句」;
mysql_query("插入語句");這條插入語句寫入上一條執行後返回的結果。
這樣兩個數表就相當於用ID關聯了。