【问题标题】:PHP Insert Table Data Code not Inserting Data into MSSQL Table [closed]PHP插入表数据代码未将数据插入MSSQL表[关闭]
【发布时间】:2014-03-14 09:05:15
【问题描述】:

我正在尝试运行一个 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);
?>

感谢您的帮助。感谢所有帮助。

【问题讨论】:

  • 错误消息 ('md5' is not a recognized built-in function name) 告诉您确切地问题是什么。你到底想问什么?
  • 您是否尝试过阅读错误消息?这与 PHP 无关。您正在生成无效的 sql,例如MSSQL 中有 NO md5() 函数。
  • 读书不好!改为提出一个 SO 问题!

标签: php sql sql-server


【解决方案1】:

MSSQL 没有直接的md5 函数(您可以将其转换为here 演示)。您需要像这样通过 PHP 使用它:

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

另外,md5 is not secure. 考虑使用准备好的语句。

有关在 PHP 中散列密码的更多信息,请参阅Secure hash and salt for PHP passwords 问题。

【讨论】:

  • +1 用于链接 md5 不是要走的路。
  • 我试过了,现在我得到了错误Warning: mssql_query() [function.mssql-query]: message: Incorrect syntax near 'b1a1953c219343f3313f0feae9abbe8'. (severity 15) in D:\Hostinga0\html\insertadminaccount.php on line 10 Warning: mssql_query() [function.mssql-query]: Query failed in D:\Hosting\ahtml\insertadminaccount.php on line 10 Incorrect syntax near 'b1a1953c219343f3313f0feae9abbe8'.
  • . md5('KingDozer')周围添加引号
  • 将我的问题中的代码编辑为我目前在我的 PHP 页面上的内容。我确实有 . md5('KingDozer') 周围的引号,它正在读取我上面评论的错误。
  • @Michael 用单引号查看我的编辑。如果您使用准备好的语句,您就不会遇到这种混乱。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-27
  • 2013-07-02
  • 1970-01-01
  • 2015-05-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多