2016-02-12 2 views
2

Мне нужно заполнить массив некоторыми данными, взятыми из базы данных. Мой DB Таблица выглядит следующим образом:Заполнение массива столбцом из базы данных

Tablename 

ID | PROFILEID | PAGEID | VOTE 
------------------------------------ 
1 | 1563187610 | /example.php| 1 
2 | 1563187610 | /example.php| 2 
3 | 1946357685 | /example.php| 1 
------------------------------------ 

И с каждым кодом я пытаюсь использовать, я всегда получаю массив, который выглядит так: Array ()

Это код, который я использую для заполнения массива:

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "test"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 

$sql = "SELECT FROM `Tablename`"; 
$result = mysql_query($sql); 

$var = array(); 
while ($row = mysql_fetch_array($result)) { 
    $var[] = $row['PROFILEID']; 
} 

print_r($var); 
$conn->close(); 

?> 

ОБНОВЛЕНИЕ 1

$sql = "SELECT * FROM `Tablename`"; 
$result = mysqli_query($sql, $conn); 

$var = array(); 
while ($row = mysqli_fetch_array($result)) { 
    $var[] = $row['PROFILEID']; 
} 

print_r($var); 

все еще задает проблему с массивом().

Если бы я поставил «or die(mysqli_error($conn))» он не говорит ничего, и у меня есть пустой экран

решаемые

$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "test"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 



$sql = "SELECT * FROM `Tablename`"; 
$result = $conn->query($sql); 
$var = array(); 

if ($result->num_rows > 0) { 
    // output data of each row 
    while ($row = mysqli_fetch_array($result)) { 
     $var[] = $row["PROFILEID"]; 
    } 
} else { 
    echo "0 results"; 
} 

print_r ($var); 
$conn->close(); 
+1

Вам нужен заполнитель в запросе SELECT * FROM 'Tablename' –

+2

Вы смешивания' mysql_ * 'и' mysqli_ * '. Это не сработает. –

+0

Не предполагайте, что ваши запросы будут работать. Вы также должны добавить проверку ошибок, например 'или die (mysqli_error ($ conn))' к вашим запросам. Или вы можете найти проблемы в ваших текущих журналах ошибок. –

ответ

4

Вы должны использовать mysqli функции вместо mysql_ *. Кроме того, вам понадобится * в вашем заявлении SELECT.

$sql = "SELECT * FROM `Tablename`"; 
$result = mysqli_query($sql, $conn); 

$var = array(); 
while ($row = mysqli_fetch_array($result)) { 
    $var[] = $row['PROFILEID']; 
} 
1

попытаться сделать это:

$var = array(); 
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 
    $var[] = $row['PROFILEID']; 
} 

Или:

$var = array(); 
while ($row = mysqli_fetch_assoc($result)) { 
    $var[] = $row['PROFILEID']; 
} 
Смежные вопросы