2014-04-26 178 views
0

我已經看遍了各式各樣的代碼和例子。這是一小段代碼,但我似乎無法讓它工作。PHP/MSSQL ..根據用戶名選擇ID,根據ID插入表?

我有一個包含了ID,用戶名,密碼,createtime dbo.accounts ..

我有一個簡單的表格,你的用戶名輸入,我需要選擇查詢返回基於的ID用戶名。

$result = mssql_query('SELECT id FROM dbo.account WHERE name = $username'); 

的dbo.gamemoney表將只需要插入一些硬編碼的信息,如硬幣的遊戲量..

我的問題是,如果我使用查詢作爲ID = 123,它的工作原理,但是當我試圖通過使用用戶名來獲取dbo.accounts的id時,我什麼都沒有回來。

我知道那一定是小東西,但我都試過,現在弄明白這麼多小時,我老實說,我失去了..

感謝您的時間, 克里斯

+0

你有什麼錯誤嗎?您還需要將$名稱放在引號內 – Geo

回答

1

由於,$username是字符串類型,你必須用引號括起來。

$result = mssql_query("SELECT id FROM dbo.account WHERE name = '$username'"); 
+0

謝謝,實際的代碼確實有引號,我創建了一個用戶名爲cbunting的測試帳戶。在上面的代碼中用引號$ username = cbunting將它用在一個示例中,它將顯示我的信息。但是,當我使用提交表單併發布到同一頁面時,我不再獲得該ID。也許我的問題是我如何發佈數據。謝謝您的幫助。 – user1116823

0

作爲一個更好的做法,建議使用try-catch方案,以便獲得確切的錯誤日誌。嘗試 -

$result = mssql_query('SELECT id FROM dbo.account WHERE name = "'.$username.'"') or die('MSSQL error: ' . mssql_get_last_message()); 
+0

我確實嘗試過,但沒有得到任何東西。即使回覆的代碼有引號,如果我使用id = $ id,我可以將信息提取出來,但chars不知道。但是,當帳戶名稱被放入輸入字段並提交時,一旦選擇trys以基於帳戶名稱提交的ID提交,'$ query =「INSERT INTO dbo.gamemoney(userid,coins,creatime)VALUES( '$ id',200,$ creatime)「;'當id爲空時。所以硬幣永遠不會被添加到賬戶中。所以我的問題仍然存在。name ='name'由於某種原因沒有返回id。 – user1116823

0

謝謝大家的幫助!

我能夠得到它的工作。現在我確定它是正確的。我忘了補充,

while($row = mssql_fetch_array($result)) { 
$id = $row['id']; 
$ip = $row['ip']; 
} 

那就是爲什麼id是空白的。我錯過了一些代碼。 Chris