2015-07-28 2 views
-5
<?php 
    $db = new mysqli("XXXXXX","XXXXXXX","XXXXXX","XXXXXXX"); 

    $strSQL = $db->query('SELECT * FROM VotEndListView '); 
    $objQuery = mysqli_query($strSQL, $db); 
    $intNumField = mysqli_field_count($objQuery); 
    $resultArray = array(); 
    while($obResult = mysqli_fetch_array($objQuery)) 
    { 
     $arrCol = array(); 
     for($i=0;$i<$intNumField;$i++) 
     { 
      $arrCol[mysqli_fetch_field_direct($objQuery,$i)] = $obResult[$i]; 
     } 
     array_push($resultArray,$arrCol); 
    } 

    mysqli_close($db); 

    echo json_encode($resultArray); 
?> 

Это сообщение об ошибке:mysql_query ошибка

Внимание: mysqli_query() ожидает параметр 1, чтобы быть MySQLi, объект приведен в /home/u528666799/public_html/vote/getGallery1.php в строке 5

Внимание: mysqli_field_count() ожидает параметр 1, чтобы быть MySQLi, нуль приведены в /home/u528666799/public_html/vote/getGallery1.php на линии 6

Внимание: mysqli_fetch_array() ожидает параметр 1 будет mysqli_result, нулевая данный в /home/u528666799/public_html/vote/getGallery1.php строке 8 []

+2

Ну, начните с чтения ошибок, поскольку они могут дать вам подсказку о том, что случилось .. – Bv202

+0

Ваша проблема 'mysqli_query'. Он работает как 'mysqli_query ($ database, запрос как строка)' – Hearner

ответ

0

заменить вашу

$strSQL = $db->query('SELECT * FROM VotEndListView '); 

с

$strSQL = 'SELECT * FROM VotEndListView'; 
0
<?php 
    $db = new mysqli("XXXXXX","XXXXXXX","XXXXXX","XXXXXXX"); 

    $strSQL = 'SELECT * FROM VotEndListView'; // NEED TO BE A STRING 
    $objQuery = mysqli_query($db,$strSQL); // It works like ($db,String) 
    $intNumField = mysqli_field_count($objQuery); 
    $resultArray = array(); 
    while($obResult = mysqli_fetch_array($objQuery)) 
    { 
     $arrCol = array(); 
     for($i=0;$i<$intNumField;$i++) 
     { 
      $arrCol[mysqli_fetch_field_direct($objQuery,$i)] = $obResult[$i]; 
     } 
     array_push($resultArray,$arrCol); 
    } 

    mysqli_close($db); 

    echo json_encode($resultArray); 
?> 

Ваша проблема mysqli_query. Он работает как mysqli_query($database, the query AS A STRING)

+0

Предупреждение: mysqli_field_count() ожидает, что параметр 1 будет mysqli, объект указан в /home/u528666799/public_html/vote/getGallery1.php в строке 6 [] –

+0

используйте 'mysqli_row_count()' вместо 'mysqli_field_count()' then – Hearner

0

Использования mysqli_connect()

<?php 
    $db = mysqli_connect("localhost","u528666799_park","class2558","u528666799_park"); 

    $strSQL = "SELECT * FROM VotEndListView "; 
    $objQuery = mysqli_query($strSQL, $db); 
    $intNumField = mysqli_field_count($objQuery); 
    $resultArray = array(); 
    while($obResult = mysqli_fetch_array($objQuery)) 
    { 
     $arrCol = array(); 
     for($i=0;$i<$intNumField;$i++) 
     { 
      $arrCol[mysqli_fetch_field_direct($objQuery,$i)] = $obResult[$i]; 
     } 
     array_push($resultArray,$arrCol); 
    } 

    mysqli_close($db); 

    echo json_encode($resultArray); 
?> 

mysqli_query()

0

У вас есть несколько неурядиц в вашем коде, вы начинаете путем подключения с помощью механизма MySQLi OO, а затем использовать процедурный код для всех других взаимодействий с MySQLi. Придерживайтесь того или другого.

Вы также выдаете запрос на выполнение дважды по какой-либо причине.

Ваш код может быть сведен к этой простой альтернативе, включая передачу некоторой полезной информации о статусе в вашу структуру данных json, чтобы ваш javascript знал, что произошло, если что-то пойдет не так в этом коде.

<?php 
    $db = new mysqli("XXXXXX","XXXXXXX","XXXXXX","XXXXXXX"); 

    $result = $db->query('SELECT * FROM VotEndListView'); 

    $to_json = array(); 

    if (! $result) { 
     $to_json['status'] = 'FAILED'; 
     $to_json['error'] = $db->error; 

    } else { 
     $to_json = $result->fetch_all(MYSQLI_ASSOC)) 
     $to_json['status'] = 'OK'; 
     $to_json['error'] = ''; 
    } 

    echo json_encode($to_json); 

    mysqli_close($db); 

    exit; 
?> 
+0

while ($ obResult = mysqli_fetch_array ($ objQuery)) { $ arrCol = array(); for ($ i = 0; $ i <$ intNumField; $ i ++) { $ arrCol [mysqli_fetch_field_direct ($ objQuery, $ i)] = $ obResult [$ i]; } array_push ($ resultArray, $ arrCol); } –

+0

ошибка $ arrCol [mysqli_fetch_field_direct ($ objQuery, $ i)] = $ obResult [$ i]; –

Смежные вопросы