【问题标题】:A missing syntax error [duplicate]缺少语法错误[重复]
【发布时间】:2017-06-30 06:54:48
【问题描述】:

我需要开发一个 php 代码来创建一个双层数组。当我运行文件时出现此错误:

解析错误:语法错误,意外';'在 C:\inetpub\wwwroot\file.php 第 20 行

我认为我的错误是拼写错误或某些句子结尾不好,但我找不到。

<?php
$serverName = "serverName\SQLEXPRESS";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"user", "PWD"=>"pass");
$conn = sqlsrv_connect( $serverName, $connectionInfo);


if( $conn === false ) {                                  
    die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT * FROM table1";
$stmt = sqlsrv_query( $conn, $sql);
if ($stmt === false) {
    die( print_r( sqlsrv_errors(), true) );
}

$bbs = array();
while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_NUMERIC){
    $bbs = array_merge($bbs, array_values($row));
}

print_r($bbs);

?>

【问题讨论】:

  • extra ) 在“die”语句行中
  • 括号)while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_NUMERIC){行中没有闭合

标签: php arrays sql-server


【解决方案1】:

你忘记关闭第 20 行的)

<?php

$serverName = "serverName\SQLEXPRESS";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"user", "PWD"=>"pass");
$conn = sqlsrv_connect($serverName, $connectionInfo);


if ($conn === false) {
    die(print_r(sqlsrv_errors(), true));
}

$sql = "SELECT * FROM table1";
$stmt = sqlsrv_query($conn, $sql);
if ($stmt === false) {
    die(print_r(sqlsrv_errors(), true));
}

$bbs = array();
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_NUMERIC)) {
    $bbs = array_merge($bbs, array_values($row));
}

print_r($bbs);

【讨论】:

  • 非常感谢,它运行良好。尽管是那么小的和简单的东西,却无法看到它。
【解决方案2】:
while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_NUMERIC){

你缺少一个右括号,你有两个(但只有一个)

【讨论】:

    【解决方案3】:
    while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_NUMERIC){
    

    你错过了最后的括号,关闭while

    【讨论】:

      猜你喜欢
      • 2016-12-01
      • 2013-03-21
      • 2016-01-04
      • 2014-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多