2016-02-12 33 views
2

我需要使用從數據庫中獲取的某些數據填充數組。我的數據庫表如下所示:使用數據庫中的列填充數組

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(); 

?> 

UPDATE 1

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

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

print_r($var); 

仍然會導致Array()問題。

如果我把「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

你必須使用的,而不是mysql_mysqli功能*。此外,您需要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']; 
} 
相關問題