【问题标题】:Headache getting php and sql server 2005 to run together让 php 和 sql server 2005 一起运行令人头疼
【发布时间】:2008-10-26 17:52:14
【问题描述】:

以下是我无法工作的代码。我知道我已经建立了与数据库的连接,但这没有返回任何内容。我做错了什么?

$result = "SELECT * FROM images WHERE path = ?";
$params = array("blah");
$row = sqlsrv_query($conn, $result, $params);

$finished = sqlsrv_fetch_array($row);


if($finished)
{
echo "blach";
}

【问题讨论】:

  • 如果一切都存在并且正确,也许您正在使用无结果查询进行测试?
  • 调用后$row的值是多少?
  • $row 查询后为空

标签: php sql-server


【解决方案1】:

您可能需要按照mssql_connect() page of the php.net manual 的说明替换您的ntwdblib.dll。

【讨论】:

    【解决方案2】:

    是否值得检查查询没有返回错误?

    $result = "SELECT * FROM images WHERE path = ?";
    $params = array("blah");
    $row = sqlsrv_query($conn, $result, $params);
    
    if( $row === false ) {
        print_r(sqlsrv_errors());
    }
    

    【讨论】:

    • Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -14 [code] => -14 [2] => 无效参数被传递给 sqlsrv_query。[message] => 一个无效的参数被传递给 sqlsrv_query。))这是它产生的错误。干杯
    • odd.. 表格 images.path 的列类型是什么?
    • 如果你这样做会发生什么 $params = array(array('blah', SQLSRV_PARAM_IN, SQLSRV_PHPTYPE_STRING(SQLSRV_ENC_CHAR), SQLSRV_SQLTYPE_VARCHAR('max') ));
    【解决方案3】:

    如果你不使用文字怎么办?大多数MSDN examples 使用变量。

    我会尝试:

    $result = "SELECT * FROM images WHERE path = ?"; $var = "废话"; $row = sqlsrv_query($conn, $result, array($var)); $finished = sqlsrv_fetch_array($row);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-25
      相关资源
      最近更新 更多