2013-08-07 30 views
0

我需要更新SQL以按照我想要查詢的帳號進行篩選:此代碼顯示對應於& memid = 3的值的帳戶。我認爲給$ memid a值會限制我的過濾。如何在輸入帳號的情況下創建sql,然後顯示相應的帳號。按帳戶號篩選的SQL

$memid = 3; // example 
$sql = "SELECT member.*, account.* FROM member, account WHERE member.mem_id = 
account.mem_id AND member.mem_id = '".$memid."' "; 

這裏是整個代碼:

所有的
<?php 
$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = 'password'; 
$conn = mysql_connect($dbhost, $dbuser, $dbpass); 
if(! $conn) 
{ 
die('Could not connect: ' . mysql_error()); 
} 
$memid = 3; // example 
$sql = "SELECT member.*, account.* FROM member, account WHERE member.mem_id = 
account.mem_id AND member.mem_id = '".$memid."' "; 

mysql_select_db('databaseName'); 
$retval = mysql_query($sql, $conn); 
if(! $retval) 
{ 
die('Could not get data: ' . mysql_error()); 
} 
while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) 
{ 
echo "Account Number:{$row['Account_Number']} <br> ". 
    "First Name: {$row['fname']} <br> ". 
    "Last Name: {$row['lname']} <br> ". 
    "Address: {$row['address']} <br> ". 
    "Contact: {$row['contact']} <br> ". 
    "Share Capital: {$row['Share_Capital']} <br> ". 
    "Regular Savings: {$row['Regular_Savings']} <br> ". 
    "Power Savings: {$row['Power_Savings']} <br> ". 
    "--------------------------------<br>"; 
} 
echo "Fetched data successfully\n"; 
mysql_close($conn); 
?> 
+2

mysql_ *已棄用。看看mysqli或pdo ... – Aquillo

+1

'WHERE Account_Number = your_acc_num'? –

+0

你可以粘貼成員和帳戶表的結構嗎?看起來你需要加入accountid專欄。 –

回答

0

首先,如果你需要找回只有特定的領域,不要使用*。 如果表成員和帳戶表具有相同名稱的字段,請使用AS表達式。 也最好是使用JOIN連接表 SQL實例:

SELECT a.mem_id AS memberid,a.Account_Number AS accnum, %etc.% FROM member AS a 
INNER JOIN account AS b ON a.mem_id = b.mem_id 
WHERE a.mem_id = '%id%'; 

在mysql_fetch_array結果你到$ row變量數組與您在設置AS語句唯一鍵:

Array ("memberid"=>"%id%","accnum"=>"%Account_Number from DB%", %etc.%) 

PS:英語不是我的母語,感謝您的理解,並隨時在必要時糾正我。

+0

謝謝,但它沒有奏效。 – Mhinne