2016-04-13 70 views
-1

這裏是我的代碼如下部分:在您提交的登錄憑據檢查您的用戶名,密碼,等...:轉換MySQL的PHP​​代碼/查詢DB2

mysql_select_db("robur_mike") or die ("Could not find DB!"); 
$query = mysql_query("SELECT * FROM Bx1_Users WHERE Username='$username'"); 
$numrows = mysql_num_rows($query); 
if ($numrows!=0) 
{ 
    while ($row =mysql_fetch_assoc($query)) 
{ 

$dbusername = $row['Username']; 
$dbpassword = $row['Password']; 
$dbfirstname = $row['FirstName']; 
$dblastname = $row['LastName']; 
} 

.....

我現在需要「翻譯」它在BlueMix中的DB2數據庫下運行。我已經使用此處提供的代碼連接到數據庫: How to connect to a SQL Database-s2 from a .php application in BlueMix

+1

您的問題太寬泛,請看這裏http://stackoverflow.com/help/how-to-ask – JayIsTooCommon

+0

嗨,周杰倫,是的,我知道這有點複雜,我很抱歉,但這是一個複雜的問題。如果我只是要求一個組件/在線或功能,它可能沒有任何意義作爲我希望的整體解決方案的一部分。我想要尊重StackOverflow的規則....我忘了說代碼應該做什麼...我現在補充說明。 –

回答

2

查詢應該是OK,因爲它是基本的SQL。你應該改變的是你運行它的方式,因爲在你的舊代碼中你正在使用mysql庫。

望着其他的問題,我想你是能夠連接做這樣的事情:

$conn = db2_connect($conn_string, '', ''); 

現在執行你可以使用db2_exec「翻譯」您的代碼類似的查詢:

$sql = "SELECT * FROM <schemaName>.Bx1_Users WHERE Username='$username'"; 
if ($conn) { 
    $stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE)); 
    while ($row = db2_fetch_assoc($stmt)) { 
     $dbusername = $row['Username']; 
     $dbpassword = $row['Password']; 
     $dbfirstname = $row['FirstName']; 
     $dblastname = $row['LastName']; 
    } 
} 

db2_close($conn); 

正如你所看到的,我已經爲SQL查詢中的模式名稱添加了一個佔位符。您可以在您的SQL數據庫儀表板中進行檢索(管理/處理表格)。

+0

嗨翁貝託, 謝謝你的回答。 當我進入你的代碼提供我收到此錯誤信息,當我到達的頁面: 「 的davasuite.eu-gb.mybluemix.net頁面無法正常工作 davasuite.eu-gb.mybluemix.net目前無法處理此請求。「 ...第一頁(index.php)工作正常.... –