php - PHP-$ row = sqlsrv_fetch_array($ result,SQLSRV_FETCH_ASSOC)在IE7中不起作用

标签 php mysql internet-explorer-7 sqlsrv

单击按钮后,我将运行以下PHP脚本。它在Firefox,Chrome,Safari和IE 8+中都可以正常运行,但是当我尝试在IE7中运行脚本时,代码就会挂在

while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC) )


我尝试将SQLSRV_FETCH_ASSOC更改为SQLSRV_FETCH_NUMSQLSRV_FETCH_BOTH,但结果相同。

我尝试在while循环内回显,但它没有回显任何内容,因此这意味着它不喜欢

while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC) )


因为某些原因。

有人知道这是什么问题吗?或如何解决?

更新的PHP

<?php

$page = $_POST['page']; 

function getMenu($title){

    $serverName = "xxxxx.com";
    $username = "xxxxxxxx";
    $password = "xxxxxxxxx";
    $database = "xxxxxxx";  
    #DO NOT EDIT BELOW THIS LINE
    $connectionInfo = array( "UID"=>$username, "PWD"=>$password, "Database"=>$database);
    $conn = sqlsrv_connect( $serverName, $connectionInfo);
    $result = sqlsrv_query($conn,"SELECT * FROM Menu2013 WHERE viewable = '1' AND section LIKE '".$title."'") or die (sqlsrv_errors()); 

    setlocale(LC_ALL, ''); // Locale will be different on each system.

    $locale = localeconv();

    $i=0;
    while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC) ) {


        $menu[$i] = $row['title'];
        $price[$i] = number_format($row['price'], 2, $locale['decimal_point'], $locale['thousands_sep']);
        $description[$i] = $row['description'];         

        $i++;
    }

    sqlsrv_close($conn);            

    return array($menu, $price, $description);
}


$code = '<div id="productTitle">'.$page.'</div>';


$newMenu = getMenu($page);


foreach($newMenu[0] as $key => $value){
    $code.= '<div class="item"><lable>'.$value.'</lable><span class="price">$'.$newMenu[1][$key].'</span><input type="number" min="0" placeholder = "0" size = "1" class="items" value="" name="'.$value.'"/><br/><div class="description">'.$newMenu[2][$key].'</div></div><hr/>';

}

echo $code;

?>


jQuery AJAX呼叫

$.ajax({
    type: 'POST',
    url: 'functions.php',
    data:{'page': menuItem},
    success: function(data){
        $('#orderForm').html(data); 
        $('.items').each(function(){
            if($.cookie($(this).attr('name')))
            {
                $(this).val($.cookie($(this).attr('name'))[0]);
            }
        });
    }  
});

最佳答案

$conn之后添加

$viewable = '1';
$params = array(&$viewable, &$title);
$tsql = "SELECT * FROM Menu2013 WHERE viewable = ( ? ) AND section LIKE ( ? )";
$result = sqlsrv_stmt($conn, $tsql, $params);


如果仍然无法获得回报,请使用sqlsrv_errors()获取更多信息

关于php - PHP-$ row = sqlsrv_fetch_array($ result,SQLSRV_FETCH_ASSOC)在IE7中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17626713/

相关文章:

css - IE7 CSS 问题?

css - IE7-8 - Sprite 黑客

php - PHP中的自动图像格式检测

php - 正则表达式匹配和编码字符串中的重复字符

mysql - 使用 REGEXP 进行 SQL 选择返回错误的数据行

mysql - MAMP Pro MySQL 将数据库引擎更改为 InnoDB 并迁移数据库时出现问题

php - 如何区分同一目录下的同名文件?

php - 从 mysql pdo php 解密的值

php - 有没有办法为静态类方法定义别名?

css - IE7/IE8 间距与位置 :absolute?