如何从php mySQL查询中回显一组值?

时间:2011-11-19 21:18:49

标签: php login

基本上我正在尝试登录。我理解一个非常少量的PHP,但每次我尝试登录它都有效。所以它不遵循下面的if语句。所以我想看看是否有人可以帮我打印$ results而不是字符串。每次我回应它,​​它说错误不能打印为字符串。这让我觉得它是一个数组,有人可以帮忙吗? =(

<?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);
}

?>

4 个答案:

答案 0 :(得分:1)

使用var_dump($output)print_r($output)显示数组的内容。

答案 1 :(得分:1)

你必须使用它:

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

它首先回应,以便正确格式化阵列的打印。如果你不这样做,它将全部在一行。

希望这有帮助! :d

答案 2 :(得分:0)

mysql_query()返回语句结果句柄,而不是您在查询中请求的数据。首先,您必须获取一行数据才能访问实际的查询数据:

$result = mysqli_query(...);

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

答案 3 :(得分:0)

对于不成功的查询,

mysqli_query函数返回false。它为select或show查询返回一个MySQLi_Result对象,对于插入和更新查询返回true。

如果您的查询由于某种原因失败,您的脚本将因or die语句而死亡,并且永远不会返回false。

if ($results = 1) 

语句为结果变量赋值1。当您的脚本运行时,您的代码将在此块中输入。因为您控制赋值语句是否已完成。

你的查询是一个select,mysqli_query函数返回MySQLi_Result对象。