2014-02-14 175 views
-3

我想運行一個PHP頁面,應該插入一個用戶名和密碼到我的MSSQL表「用戶」。當我運行該頁面出現的唯一的事情是錯誤的:PHP插入表數據代碼不插入數據到MSSQL表

Warning: mssql_query() [function.mssql-query]: message: 'md5' is not a recognized built-in function name. (severity 15) in D:\Hostins0\html\insertadminaccount.php on line 10 

Warning: mssql_query() [function.mssql-query]: Query failed in D:\Hostinstml\insertadminaccount.php on line 10 
'md5' is not a recognized built-in function name. 

這是我的完整的PHP頁面代碼:

<?php 
$conn=mssql_connect('sm','Gaer','Ra1!'); 
mssql_select_db('Gser',$conn); 
if(! $conn) 
{ 
    die('Could not connect: ' . mssql_get_last_message()); 
} 
    $sqla = "INSERT INTO users (username, password) 
VALUES ('rob_dewar01', " . md5 ('KingDozer') . ")"; 
mssql_query($sqla, $conn) or die(mssql_get_last_message()); 

if (!mssql_query) { 
    // The query has failed, print a nice error message 
    // using mssql_get_last_message() 
    die('MSSQL error: ' . mssql_get_last_message()); 
} 

mssql_close($conn); 
?> 

感謝您的任何幫助。所有的幫助表示讚賞。

+1

錯誤消息(''md5'不是一個可識別的內置函數名稱')完全告訴你*究竟是什麼問題。你真的在這裏問什麼? –

+1

你甚至嘗試閱讀錯誤信息嗎?這與PHP沒有任何關係。您生成無效的sql,例如在MSSQL中有** NO ** md5()函數。 –

+0

閱讀不好!改爲SO問題! –

回答

3

MSSQL沒有直接md5函數(您可以將其轉換爲演示here)。您需要通過PHP像這樣使用它:

$sqla = "INSERT INTO users (username, password) 
VALUES ('rob_dewar01', '" . md5('KingDozer') . "')"; 

此外,md5 is not secure.考慮使用準備好的語句。

請參閱Secure hash and salt for PHP passwords問題以獲取有關在PHP中對密碼進行哈希處理的更多信息。

+0

對於鏈接該md5是不是要走的路。 – Zane

+0

我試過了,現在我得到錯誤'Warning:mssql_query()[function.mssql-query]:message:'b1a1953c219343f3313f0feae9abbe8'附近的語法錯誤。 (嚴重性15)在第10行D:\ Hostinga0 \ html \ insertadminaccount.php 警告:mssql_query()[function.mssql-query]:查詢在第10行D:\ Hosting \ ahtml \ insertadminaccount.php中失敗 「b1a1953c219343f3313f0feae9abbe8」附近的語法錯誤。「 – Kelsey

+1

在'周圍添加引號。 md5('KingDozer')' –