2011-11-19 2 views
0

기본적으로 로그인을 시도하고 있습니다. 나는 아주 작은 양의 PHP를 이해하지만, 로그인 할 때마다 작동한다. 그래서 아래 if 문을 따르지 않습니다. 그래서 누군가가 $ 결과를 문자열로 인쇄하는 것을 도울 수 있는지 알고 싶습니다. 매번 echo 할 때마다 에러가 문자열로 출력되지 않는다고합니다. 내가 그 배열을 생각하게 만들지, 누군가 도울 수 있니? = (PHP mySQL 쿼리에서 값 배열을 반향 출력하는 방법은 무엇입니까?

<?php 
include('include/dbConnection.php'); 

if (isset($_REQUEST['attempt'])) 
{ 
    //variables 
    $user = $_POST['user']; 
    $password = sha1($_POST['password']); 

    //SQL statement 
    $query = "SELECT COUNT(user) 
       FROM users 
       WHERE user = '$user' 
       AND password = '$password'"; 

    //Execute prepared MySQL statement 
    $results = mysqli_query($dbc,$query) or die('Error querying database'); 
     /* Here is where I want to print $results 

    if ($results = 1) 
    { 
     session_start(); 
     $_SESSION['$user']; 
     header('location: home.php'); 
    } 
    else 
    { 
     echo $results + 'Incorrect Username or Password'; 
    } 

*/ 
    //Close dbConnect 
    mysqli_close($dbc); 
} 

?> 

답변

1

사용 var_dump($output) 또는 print_r($output)는 배열의 내용을 표시합니다.

+0

OP의 질문에 $ 출력이 없다는 것 외에는 쿼리 결과를 얻는 방법에 대한 대답이 전혀 없습니다. –

+0

OP가 $ output을 자신의 변수로 대체 할 수 없다면 더 큰 문제가 있습니다. – djdy

0

는 mysql_query()를 명령문 결과 핸들, NOT 쿼리에서 요구 한 데이터를 반환합니다. 당신은 먼저를 가져가 데이터의 행은 실제 쿼리 데이터에 대한 액세스를 얻을 수 있습니다 :

$result = mysqli_query(...); 

$row = mysqli_fetch_row($result); 
$count = $row[0]; 
1

당신이 사용할 수 있습니다

echo "<pre>"; 
print_r($results); 
echo "</pre>"; 

먼저 배열의 인쇄 형식이 올바르게 표시되도록 에코합니다. 이렇게하지 않으면 모두 한 줄에 표시됩니다.

희망이 도움이되었습니다! : D

0

mysqli_query 함수는 실패한 쿼리에 대해 false를 반환합니다. select 또는 show 쿼리를위한 MySQLi_Result 객체와 insert 및 update 쿼리를위한 true를 반환합니다.

어떤 이유로 쿼리가 실패하면 or die 문으로 인해 스크립트가 죽고 false를 반환하지 않습니다.

if ($results = 1) 

문은 결과 변수에 1을 지정합니다. 스크립트가 실행될 때 코드가이 블록에 입력됩니다. 할당 문이 완료되었는지 여부를 제어하기 때문입니다.

당신의 쿼리는 select입니다. mysqli_query 함수는 MySQLi_Result 객체를 반환합니다.

+0

하지만 select count (user)를 실행하여 사용자 이름이 존재하는지 확인하고 싶습니다. 여기서 user = '$ user'입니다. 어떤 1 또는 0이어야합니다. 그 이유는 내가 거기에 진술을 넣어 – MrDrewskii

+0

셀렉트 카운트 (사용자)도 실제로 선택 진술이다. mysql_request 객체는 mysqli_query에서 리턴되어야한다. if ($ result-> num_rows> = 1)를 사용하여 true 값을 제어하는 ​​대신 쿼리가 반환하는 행 수를 제어 할 수 있습니다. – erencan

관련 문제