2016-01-28 73 views
-4

我想將sql查詢返回的值存儲到php變量中。例如。我有一個查詢SELECT codes from subjects,它返回five rows,如: -如何使用mysqli在php變量中存儲行的值?

codes 
------- 
DA5010 
DA5020 
DA5034 
DA5032 
DA5023 

我如何使用存儲庫MySQLi五個PHP變量,這5個值。

我都試過,但它不工作

$sql = "SELECT code FROM subjects"; 
$results = $result->query($sql); 
while($row = $results->fetch_row()) 
{ 
$v1 = $row[0]; 
$v2 = $row[1]; 
$v3 = $row[2]; 
$v4 = $row[3]; 
$v5 = $row[4]; 
} 
+3

您可以分享您嘗試過的以及失敗的方式嗎? –

+0

我發佈了我試過的代碼。 – Kushal

+0

如果所有5個值不在一行中,那麼您的分配將不起作用 –

回答

3

您從結果每次都設定一輪while循環得到一個行,所以你的代碼不會削減它

您可以將數據存儲在一個陣列這樣

$sql = "SELECT code FROM subjects"; 
$results = $result->query($sql); 
$data = array(); 
while($row = $results->fetch_row()) 
{ 
$data[] = $row['code']; 
} 

或發明新vaiables這樣

$sql = "SELECT code FROM subjects"; 
$results = $result->query($sql); 
$i = 1; 
while($row = $results->fetch_assoc()) { 
    ${"v" . $i} = $row['code']; 
    $i++; 
} 
+0

謝謝你的工作。 – Kushal

3

每個值是不同的行,所以你的循環需要是這樣的:

$i = 1; 
while($row = $results->fetch_assoc()) { 
    ${"v" . $i} = $row['code']; 
    $i++; 
} 

我們用${}創建變量名要存儲在每個值現在,您可以echo $v1;或任何其他變量或根據需要重新使用它們。

+0

謝謝你的工作。 – Kushal

相關問題