【问题标题】:Use specific sql server database by user input通过用户输入使用特定的 sql server 数据库
【发布时间】:2016-07-29 09:32:21
【问题描述】:

我在尝试通过用户输入使用数据库时遇到错误。 需要帮忙。 请找到代码。

$dbname = $_POST['db_name'];

if(!empty($_POST['db_name']))
  {
    $query ="USE'".$dbname."'";
    $params = array();
    $options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
    $stmt = sqlsrv_query($conn, $query, $params, $options);
    if($stmt === false){
    die ( print_r (sqlsrv_errors(), true));
      }
   } 

错误信息:

数组([0] => 数组([0] => 42000 [SQLSTATE] => 42000 [1] => 102 [代码] => 102 [2] => [微软][SQL Server Native Client 11.0][SQL 服务器]“HMS_CCO”附近的语法不正确。 [消息] => [微软][SQL 服务器 Native Client 11.0][SQL Server]“HMS_CCO”附近的语法不正确。 ))

【问题讨论】:

  • USE 需要双引号,你需要单引号。因此,只需交换 $query... 行上的引号即可。

标签: php sql-server-2012


【解决方案1】:

在关键字USE 之后放置一个空格并删除单引号'

$query ="USE ".$dbname;

【讨论】:

  • 很高兴听到这个消息。如果真的对您有帮助,请接受我的回答。
猜你喜欢
  • 2017-11-24
  • 2022-01-16
  • 2020-10-29
  • 2012-11-14
  • 2017-11-17
  • 2014-02-21
  • 1970-01-01
  • 2012-09-29
  • 1970-01-01
相关资源
最近更新 更多