2014-12-10 16 views
5

Trong khi phát triển trên localhost qua XAMPP tôi đã sử dụng mysqli_fetch_all trong mã của mình. Nhưng sau khi tải lên trên Godaddy chia sẻ lưu trữ, nó không hoạt động.mysqli_fetch_all không hoạt động trên shared hostimg, cần thay thế

Tôi đã nghiên cứu trên internet và phát hiện ra máy chủ nên sử dụng MySQLnd để chạy mysqli_fetch_all. Vì vậy, tôi không thể chạy mã hiện tại của tôi trên máy chủ.

Tôi cần thay thế chính xác mã này. Bất kỳ đề xuất?

đang hiện tại:

$result = mysqli_query($con,$query); 
$arr = mysqli_fetch_all($result, MYSQLI_ASSOC); 

$totalrecords = count($arr); 

$json = array('sEcho' => '1', 'iTotalRecords' => $totalrecords, 'iTotalDisplayRecords' => $totalrecords, 'aaData' => $arr); 
echo json_encode($json); 

Trả lời

4

Nếu bạn không thể sử dụng nó vì bạn không có mysqlnd cài đặt, sau đó lấy nó như bạn vẫn thường làm với mysqli_fetch_assoc()

$arr = array(); 
$result = mysqli_query($con,$query); 
$totalrecords = mysqli_num_rows($result); 
while($row = mysqli_fetch_assoc($result)) { 
    $arr[] = $row; 
} 

$json = array('sEcho' => '1', 'iTotalRecords' => $totalrecords, 'iTotalDisplayRecords' => $totalrecords, 'aaData' => $arr); 
echo json_encode($json); 
+0

hoạt động như một sự quyến rũ. Cảm ơn bạn!!! – sumit

+0

@sumit chắc chắn người đàn ông vui mừng này đã giúp – Ghost

0

Tôi có phải đối mặt với cùng một vấn đề với máy chủ của tôi, và để tái cấu trúc mã ít hơn, tôi nghĩ cách tốt hơn là triển khai một hàm tương tự bằng cách sử dụng mysqli_fetch_assoc() hoặc mysqli_fetch_array(), trả về giống như mysqli_fetch_all(), như:

public function mysqli_fetch_all_alt($result) { 
    $select = array(); 

    while($row = mysqli_fetch_assoc($result)) { 
     $select[] = $row; 
    } 

    return $select; 
} 

Sau đó, chỉ thực hiện tìm thay thế trong dự án của bạn.

+0

một gợi ý: bạn luôn có thể quấn một định nghĩa chức năng trong một điều kiện với function_exists(). nó sẽ giúp bạn tiết kiệm một sự thay thế trong một dự án. –

Các vấn đề liên quan