2015-03-04 4 views
1

Я пытаюсь отобразить список записей из базы данных MySQL с помощью PHP, но по какой-то причине я не могу получить желаемый результат. Вместо полного списка мой флажок выбора пуст - они не содержат никаких параметров. Где ошибка в моем коде?Query not results any

<?php 
    $con = mysqli_connect('127.0.0.1', 'root', 'toor', 'monster'); 
    if(mysqli_connect_errno()) { 
     echo 'Failed to connect to MySQL' . mysqli_connect_errno(); 
    } 
    function query() { 

     $result = mysqli_query($con, "SELECT * FROM corporations"); 
     while($row = mysqli_fetch_array($result)) { 
      echo '<option value="' . $row['name'] . '">' .$row['name']. '</option>'; 
     } 
    } 
?> 

<select name='dropdown'> 
    <?php query() ?> 
</select> 
+0

Определение "не работает". Что он делает? Как конкретно это происходит? – David

+0

Ничего не появилось. Коробки с параметрами являются крошечными и пустыми. – Kevin1990

+0

«Крошечные и пустые флажки» - это не то же самое, что «ничего». Более конкретно. – David

ответ

3

Переменный объем. Вы определяете строку соединения за пределами функции query, и поэтому вы не можете использовать ее внутри функции, не передавая ее функции в первую очередь.

Это должно работать:

$con = mysqli_connect('127.0.0.1', 'root', 'toor', 'monster'); 
if (mysqli_connect_errno()) 
{ 
    echo 'Failed to connect to MySQL' . mysqli_connect_errno(); 
} 

function query($con) 
{ 
    $result = mysqli_query($con, "SELECT * FROM corporations"); 
    while ($row = mysqli_fetch_array($result)) 
    { 
     echo '<option value="' . $row['name'] . '">' . $row['name'] . '</option>'; 
    } 
} 

query($con); 
+0

Человек, Такое простое решение, но я бы его никогда не получил. Большое спасибо вам, брат. – Kevin1990

+0

@ Kevin1990 Не беспокойтесь! :) Если вы довольны ответом, отметьте его как принятый. –

+0

Последний вопрос для вас, когда я отправлю эту форму. Каким будет этот запрос в сообщении? – Kevin1990

-1

Изменить этот

while($row = mysqli_fetch_array($result)) { 

с этим

while($row = mysqli_fetch_assoc($result)) {