2016-01-28 71 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

相关问题