2013-05-15 99 views
1

我正在尝试学习一种获取单元数据而不必使用while循环的更有效方法。这是我的意思。不使用While循环从数据库获取单元信息

这是我通常会为每一条信息,我需要做的:

$getName1 = mysqli_query($con,"SELECT * FROM livestreams WHERE stream_number='1'"); 

while($nameRow1 = mysqli_fetch_array($getName1)) { 
    $playerName1 = $nameRow1['stream_name']; 
} 

但我有一吨重的行我需要为做到这一点,我只需要“STREAM_NAME”的每一行。我正在寻找一种方法来从特定行中获取stream_name,而不必每次都做一个while循环。我需要显示这些信息。

+0

我不明白你的问题。在'while'循环中,每次迭代都会分配'$ playerName1'。只需简单地删除'while'。 – Voitcus

+0

当您运行查询时,您可以有多个结果吗? –

+0

为什么不只是选择你感兴趣的所有行中的一个查询,然后在php中处理它们,而不是为每个项目执行单独的选择。这将提供更大的性能增益,而不是担心 – Anigel

回答

0

while循环不是问题。您的查询可以调整以更好地执行。只获取你想要的列。

"SELECT stream_name FROM livestreams WHERE stream_number='1'" 
+0

好吧,如果我调整我的查询到你所说的,然后我将如何显示来自查询? –

+0

只需像你已经做到的那样获取它。 – Bart

+0

但这是没有道理的,因为SELECT已经知道我正在谈论的确切单元格,然后在while循环中我说$ variable ['stream_name']? –

2

我认为,你可以先限制你的选择,只需要像SELECT stream_number FROM而不是像你一样选择所有表的字段SELECT * FROM领域。 while循环在我看来不是问题。

0

您可以定义一个变量一样

$stream_number='1' //dynamic variable 
$getName1 = mysqli_query($con,"SELECT stream_name FROM livestreams WHERE stream_number='.$stream_number.'"); 
while($nameRow1 = mysqli_fetch_array($getName1)) { 
    $playerName1 = $nameRow1['stream_name']; 
} 
-2

使将要执行的查询为你流的名字那它仅返回数组的自定义功能。