2015-12-15 2 views
0

Я все еще очень новый в использовании Mysqli и PHP, в настоящее время я использую простой Mysqli запросMysqli возвращает двойные результаты

$datas = $mysqli->query("SELECT firstname FROM Customer"); 
    while($row = mysqli_fetch_array($datas)) { 
    print_r($row); 
} 

Однако результат, который возвращается в два раза, это нормально?

Array 
(
[0] => Vincent 
[firstname] => Vincent 
) 
Array 
(
[0] => Carmen 
[firstname] => Carmen 
) 
Array 
(
[0] => James 
[firstname] => James 
) 
Array 
(
[0] => William 
[firstname] => William 
) 

ответ

1

Результаты не являются «двойными». Вы получаете 4 записи из базы данных, но способ, которым print_r печатает их, немного похож на «double». Вы можете сделать что-то подобное, чтобы показать 1st/0 колонка:

print_r($row[0]); 

или это напечатать столбец «ПгвЬЫате»:

print_r($row['firstname']); 

, который, очевидно, то же самое.

Update

Если вы хотите, чтобы цикл через все колонки вы могли сделать что-то подобное внутри вас while цикла:

$length = count($row); 
for ($i = 0; $i < $length; $i++) { 
    print $row[$i]; 
} 
+0

Спасибо, что если я (SELECT * FROM Customer), смогу ли я распечатать все строки без двойки или мне нужно использовать что-то другое вместо print_r()? – Vincent1989

+1

Обычно вам нужно просто выбрать нужные столбцы и не использовать *. Но если вы действительно хотите их всех, вы можете сделать небольшой цикл цикла от 0 до количества столбцов в своей строке и использовать счетчик в качестве индекса столбца. –

+0

Спасибо, что было полезно – Vincent1989

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