使用获取数据中的第二行或第三行(等)来确定变量

时间:2016-01-03 18:26:22

标签: php mysql mysqli fetch

我将数据存储在数据库中。这是mysqli语法。

SELECT naam, url, ext 
FROM img
WHERE naam LIKE 'Avatar%'

这是我检索第一行的方式

while (($row = mysql_fetch_assoc($QueryResult)) !== FALSE)  {   
$naam = $row['naam'];     $url = $row['url'];       $ext=['ext']; 
}

echo $naam;    echo $url;    echo $ext;

我现在的目标是确定一个变量,例如$ Jannick(表中的第二行),其中包含来自获取的mysqli数据的信息。 - 这意味着我可以在while循环之外使用确定的变量 -

我无法弄清楚如何,尽管我已经尝试了几种不同的fetch-options和for或foreach循环。

到目前为止,我只能确定$ Wouter,因为'Wouter'是第一行被提取。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

您可以先将所有行保存在二维数组中,然后只需使用索引获取所需的行和相关数据。

$f_data=array(); 
while (($row = mysql_fetch_array($QueryResult))  {   
    $q_array['naam']=$row['naam'];  
    $q_array['url']=$row['url'];  
    $q_array['ext']=$row['ext'];
    array_push($f_data,$q_array);  
 }

然后第二行可以像 $res=$f_data[1]

此外,我强烈建议您使用PDOMySQLi,因为mysql扩展程序已弃用 。以下是在这种情况下使用PDO的方法,

$db= new PDO('mysql:host='.$dbserver.';dbname='.$dbname.'',$dbuser, $dbpwd);
$rs=$db->prepare($query);  \\prepared statements provide numerous advantages over normal statements check it out
$rs->execute();  

while($row=$rs->fetch(PDO::FETCH_BOTH))  
{  
   \\your code here
}  

您可以将数据库连接,准备和执行语句放在函数中,通常在不同的文件中与数据库进行交互,导入并调用函数。

答案 1 :(得分:0)

尝试替换

while (($row = mysql_fetch_assoc($QueryResult)) !== FALSE)  {  

while ($row = mysql_fetch_assoc($QueryResult))  { 
$naam = $row['naam'];     $url = $row['url'];       $ext=['ext']; 

echo $naam;    echo $url;    echo $ext;
}