2013-03-01 4 views
0

Я начинающий программист, и у меня есть небольшая проблема с получением информации из phpmyadmin через mysqli_query. Сначала подключаюсь к базе данных, а затем пытаюсь получить информацию из таблицы cbo, которая находится внутри базы данных. Затем я распечатываю результаты, которые не являются информацией из таблицы. вместо этого это то, что я получаю.mysqli_query возвращает неожиданный вывод

mysqli_result Объект ( [current_field] => 0 [field_count] => 8 [длина] => [num_rows] => 12 [тип] => 0 )

здесь код, который я использую. сбрасывает только эхо переменной.

<?php 
    $con = mysqli_connect("localhost", "root", "harvard", "cbo projections"); 
    if (mysqli_connect_errno()) { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
    $result = mysqli_query($con,"SELECT * FROM cbo"); 
    dump($result); 
?> 

благодарит за помощь.

ответ

3

$result - это всего лишь ресурс, содержащий набор результатов. Вам нужно извлечь данные из него. Читайте mysqli_fetch_assoc или mysqli_fetch_array

Пример:

if ($result = mysqli_query($link, $query)) { 
    while ($row = mysqli_fetch_assoc($result)) { 
     //Display fields here according to your table structure 
    } 
    mysqli_free_result($result); 
} 

EDIT

Да, почему бы и нет: Вы могли бы сделать что-то вроде

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

Это создаст массив с именем записи который будет содержать все выбранные строки и t вы можете позже получить доступ к этому массиву и обработать соответственно

+0

спасибо. im получает первый ряд сейчас. как бы я петлю, чтобы получить других? –

+0

Этот цикл while должен уже закодировать все возвращаемые строки –

+0

, можно ли каким-либо образом сохранить каждую строку из моей таблицы в отдельный список переменных? –

2

Это объект mysqli, что вы хотите с ним сделать? Вы должны прочитать о http://www.php.net/manual/es/function.mysql-fetch-assoc.php, http://www.php.net/manual/en/function.mysql-fetch-object.php или http://www.php.net/manual/en/function.mysql-fetch-array.php.

К примеру:

<?php 

$con=mysqli_connect("localhost", "root", "harvard", "cbo projections"); 
if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
$result = mysqli_query($con,"SELECT * FROM cbo"); 
while ($row = mysql_fetch_assoc($result)) { 
    var_dump($row); 
} 

?> 
1
$result = mysql_query($con,"SELECT * FROM cbo"); 
$rows = array(); 
while ($row = mysql_fetch_assoc($result)) { 
    $rows[] = $row; 
} 
print_r($rows); 
+0

спасибо. единственная проблема в том, что я получаю только первую строку. как бы получить остальные строки? –

+0

Odil Это не будет работать должным образом. Вы ошибочно смешали mysqli с расширением mysql –