2017-02-07 2 views
-1

Итак, я пытаюсь использовать различные другие потоки, но ни один из них не использует MySQLI и не работает. Я пытаюсь запросить таблицу MySQL через MySQLI, преобразовать возвращенный столбец в массив, который будет использоваться позже. Вот что я до сих пор.Использование MySQLI для извлечения столбца и преобразования в массив

$sql = new mysqli("URL", "user", "pass","db") or die ("Not connected"); 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit; 
} 
$sql_query = "SELECT Desired_column FROM Table_Name"; 
$result_array = $sql->query($sql_query); 
while($row = $result_array->fetch_row()) { 
    $rows[]=$row; 
} 
$result_array->close(); 
$sql->close(); 
return $rows; 

И да ... Я полный новичок в кодировании, так что ветеринары PHP, наслаждайтесь тем, как далеко вы пришли!

Ошибка я получаю

вызов функции члена fetch_row() на булевой по линии 60

+0

Что такое '$ result'? –

+0

^В случае, если это не понятно. Почему '$ result' не' $ result_array'? –

+0

ВЫ ДОЛЖНЫ БЫТЬ ОШИБКИ в журнале ошибок. Найдите его, прочитайте, а затем исправьте код – RiggsFolly

ответ

0

Попробуйте что-то вроде этого:

$query = "SELECT Desired_column FROM Table_Name"; 
$results = mysqli_query($sql, $query); 

$rows = []; 

while($row = mysqli_fetch_assoc($results)) { 
    $rows[] = $row; 
} 

Edit 1

  • Изменено array_push($rows, $row); на $rows[] = $row; для уменьшения функциональных вызовов
+2

fyi: http://stackoverflow.com/questions/14232766/difference-between-array-push-and-array. Использование '$ rows [] = $ row' над' array_push() 'является предпочтительным. Точно так же 'mysqli_fetch_all()', вероятно, будет самым простым, если в цикле ничего не сделано. – nerdlyist

+0

Это, похоже, сработало! Спасибо! – Wrongar

+0

@nerdlyist cheers, я буду обновлять свой ответ соответственно :) – Spholt

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