get_result()在本地主机上运行,​​但不在实时服务器上运行

时间:2019-10-15 11:19:47

标签: php mysql

我正在编写用于通过用户传递的查询实时搜索记录的代码。以下是编写的代码:

if(isset($_REQUEST["term"])){
    $sql = "SELECT * FROM students WHERE rollno LIKE ?";
    if($stmt = $conn->prepare($sql)){
        $stmt->bind_param("s", $param_term);
        $param_term = $_REQUEST["term"] . '%';
        if($stmt->execute()){
            $result = $stmt->get_result(); // error on this line
            if($result->num_rows > 0){
                // Fetch result rows as an associative array
                while($row = $result->fetch_array(MYSQLI_ASSOC)){
                    $rollno = $row['rollno'];
                    $name = $row['name'];
                    $image = $row['image'];
                    echo $rollno." ".$name." ".$image;
                }
            }
        }
    }
}

该代码在本地服务器上正常工作。但是,相同的代码在具有相同数据库的实时服务器上不起作用。输入查询后,我立即收到错误Fatal error: Call to undefined method mysqli_stmt::get_result() in /home/u687417727/public_html/digiclass/panel/backend-search.php on line 25 。我已经在代码中用注释显示了错误。可能是什么问题呢?请帮助。试图长时间评估它。

2 个答案:

答案 0 :(得分:1)

您有两种选择,或者是在 php_info 的服务器上安装 mysqlnd How to enable mysqlnd for php?

或为此编写自己的函数

var psi = new ProcessStartInfo
{
    FileName = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe",
    Arguments = "http://www.msn.com",
    CreateNoWindow = false,
    UseShellExecute = true
    UserName = "username",
    Password = "secure password",
    Domain = "domain"
};
var process = new Process
{
    StartInfo = psi
};
var result = process.Start(); // result is true
int processId = process.Id; // processId is valid

答案 1 :(得分:0)

我已解决这个问题。

我也对这个问题感到沮丧,但经过巨大的挣扎和冲浪后,我找到了这个问题的解决方案。如果 get_result() 不能在你的 cpnael 中使用“mysqli”扩展,那么请按照以下步骤操作:

我只是通过在我的 Cpanel 中 DISABLED "mysqli"ENABLED "nd_mysqli" 扩展解决了这个问题。现在 get_result() 语句起作用并解决了这个令人头疼的问题。