2017-06-11 70 views
0

我刚刚开始学习PHP,所以对我来说这是一场艰苦的斗争,任何帮助都会感激!从数据库中提取数据时选择个别柱子

所以,我设法选择我的数据库,表,并从中获取数据。但我需要从旧列中选择更多数据。

下面是一些代码:

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

//execute the SQL query and return records 
$result = mysqli_query($conn, "SELECT username FROM interview"); 

while($rowval = mysqli_fetch_array($result)) 

{ 
    $username= $rowval['username']; 
    $username2= $rowval['username']; 
    $username3= $rowval['username']; 
    $username4= $rowval['username']; 


} 


?> 

而且我在显示一个按钮的数据,我想$用户名显示第一列和$ USERNAME2显示第二列等等

我使用此代码获取数据:

<?php echo $username; ?> 
<?php echo $username2; ?> 
<?php echo $username3; ?> 
<?php echo $username4; ?> 

谢谢!

+0

有人说做COL1,COL2,COL3,然后做$用户名1 = $ rowval [COL1] ['用户名“];但那不起作用? –

+0

数据库表是什么样的? – PeterMader

+1

这听起来像是你将_columns_与_rows_混淆。 – CBroe

回答

0

我建议你重新分解你的“而”循环通过以下方式获得更好的可扩展性:

$usernames=array(); 
while($rowval = mysqli_fetch_array($result)) 

{ 
    $usernames[] = $rowval['username']; 
} 

然后,你就可以访问用户名,如:

echo 'The first user name is: '.$usernames[0]; 
echo 'The second user name is: '.$usernames[1]; 
echo 'The third user name is: '.$usernames[2]; 
+0

嘿,我做到了,但是当我刷新我的页面时,它只是白色,我猜这意味着它崩溃了? –

+0

@杰克史密斯我相信你可能复制它错了。你有error_log文件中有一些调试信息? –

+0

没有啊哈,对不起,像我说的我真的是新来的PHP –

0

我PHP的技能有点生疏,所以请带上一点盐:

首先,重要的是让语言正确。数据库表由行和列组成,这些列是您使用SELECT语句之后的部分选择的列,如果您编写SELECT username您选择的是用户名列。

SELECT username FROM interview; 

所以,如果你要选择从表中多个列,你必须把它们放在SELECT声明。比方说,你要选择的用户名和采访的地位,您需要在您SELECT声明中这样的状态:

SELECT username, status from interview; 

然后你就可以访问面试状态,就像你用做到了用户名。

$result = mysqli_query($conn, "SELECT username, status from interview;"); 

while($rowval = mysqli_fetch_array($result)) 
{ 
    $username= $rowval['username']; 
    $status = $rowval['status']; 
} 

记住,你作为$rowVal什么是公正你的表的单个一行。所以如果你想从你的表中收集所有用户名和状态,你必须使用数据结构来收集它们。

$queryResult = mysqli_query($conn, "SELECT username, status from interview;"); 
$result = array(); 
while($rowval = mysqli_fetch_array($queryResult)) 
{ 
    $username= $rowval['username']; 
    $status = $rowval['status']; 
    // With this action we build an array, that has each row's result as value. 
    $result[] = array('username' => $username, 'status' => $status); 
} 

访问结果你就可以查询$result阵列像这样:

// The interview status of the first entry in your table 
$result[0]['status'];