2014-04-12 92 views
1

我在做一个使用登录的小帐户,现在我必须显示ID谁登录的名字。假设,我有两个帐户到我的数据库中,因为我打印他的名字时,显示ID号。 1的名字,而我登录使用ID号。 2你能告诉我发生了什么事吗?在那里我猜想是错误的?如何使用ID显示数据库中的名称?

这里是我的change_setting_db.php

<?php 
$con=mysqli_connect("localhost","root","Bhawanku","members"); 
// Check connection 

if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
$result = mysqli_query($con,"SELECT * FROM admin"); 
?> 

这里是我general_setting.php

<div id="change_name"> 
    <label><strong>Name: </strong></label> 
     <?php 
     include('change_setting_db.php'); 

     while($row = mysqli_fetch_array($result)) 
     { 
      echo $row['first_name']." ".$row['last_name']; 
     } 
     ?> 
     <a id="display_float" href="change_name.php">Edit</a> 
    </div><hr> 

EDITED

我试过,但它的不工作..

<?php 
$con=mysqli_connect("localhost","root","Bhawanku","members"); 
// Check connection 

if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$result = mysqli_query($con,"SELECT * FROM admin"); 
if ($row = mysqli_fetch_array($result)) { 
    $id=$row['id']; 
mysqli_query($con,"SELECT * FROM admin WHERE id='$id' "); 
} 
?> 

回答

0

您的SQL查询shoulb是

SELECT * FROM admin WHERE id='1'; 
0

你为什么会想到这个代码,以显示已登录的用户,因为你正在做的:

SELECT * FROM admin 

这从表中检索所有行没有条件。您需要添加一个WHERE条款如:

SELECT * FROM admin WHERE user_id = ? 

在用户的user_id将被存储在会话通常登录。还请记住使用准备好的语句,而不是将user_id直接连接到查询中。

+0

如何使用'row'显示id? – user3518210

+0

看到我的编辑............ – user3518210

1

当您对$result = mysqli_query($con,"SELECT * FROM admin");中的数据库进行查询时,您需要传递存储在会话变量或其他内容中的用户标识。

看看这个:

$uid = $_SESSION['uid']; 
$result = mysqli_query($con, "SELECT * FROM admin WHERE uid = '$uid'"); 
+0

我试过你的代码,但它显示这个错误:'未定义的索引:在C:\ Users \ Raj \ PhpstormProjects \中的新链接linkvessel \ change_setting_db.php在线10' – user3518210

+0

看我的编辑............ – user3518210

0

这里通过在条件查询,如果你想要特定用户名的用户“ID”。

$con=mysqli_connect("localhost","root","Bhawanku","members"); 
//Check connection 

if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
$result = mysqli_query($con,"SELECT * FROM admin where id=(pass your id's value here)"); 
?> 

  1. 你可以保持在ID,如果会话的登录凭据是正确的。
  2. ,当你有你的手的ID刚刚火与在条件类似

    $结果= mysqli_query($ CON选择查询, “从管理选择*其中id = ' ”$ ID“。'” ); if(count($ result> 0) //现在显示该用户的名称 echo“Id =”。$ result [0] ['id']; echo“Name =”。$ result [ 0] ['first_name']。“”。$结果[0] [ '如first_name']; } else { //在此处理错误情况 echo“找不到结果”; }

+0

如何使用行显示id ?? .......... – user3518210

+0

您正在访问数据库表中所有具有特定id的列您将按照您的代码获取所有数据(ID,FIRST_NAME,LAST_NAME)。 – Parimal

+0

看到我的编辑它不工作,正如你所说我做了所有,但它不工作 – user3518210

0
SELECT * FROM admin WHERE username = $username AND password = $password); 

Row ID:<?= $row['id'] ?> 
+0

以及如何通过'$用户名'和'$密码'请帮助:( – user3518210

+0

在您的登录表单中,用户名字段有名称='用户名'并且密码字段具有name ='password'并且在接收表单提交的页面上具有$ username = $ _POST ['username'];并且密码相同 – tylerlindell

0

我想这应该帮助你,

<!DOCTYPE html> 
<html> 
<head> 
</head> 
<body id=""body> 
    <div id="body-container"> 
     <form action="index.php" method="POST"> 
      <input type="text" id="username" name="username" value="" autocomplete="false" spellcheck="false" placeholder="Username" /> 
      <input type="password" id="password" name="password" value="" autocomplete="false" spellcheck="false" placeholder="Password" /> 
      <input type="submit" id="submit" name="submit" value="submit" /> 
     </form> 
    </div> 

    <?php 
     $username = $_POST['username']; 
     $password = $_POST['password']; 

     $database = mysqli_connect("database-ip", "database-username", "database-password", "database-name", "database-port"); //fill in the examples correctly! 

     $fetch_username = mysqli_query($database, "SELECT * FROM login WHERE username='$username'"); 

     $fetch_password = mysqli_query($database, "SELECT * FROM login WHERE password='$password'"); 

     $check_username = mysqli_fetch_array($fetch_username); 
     $check_password = mysqli_fetch_array($fetch_password); 

     if($username = $check_username && $password = $check_password){ 
      echo "loged in"; 
     } 

     if($username != $check_username || $password != $check_password){ 
      echo "incorrect username or password"; 
     } 
    ?> 


</body> 
</html> 

我真的建议你检查出的PHP官方文档:

http://www.php.net/manual/en/

我希望这帮了你(=

相关问题