Как я могу отобразить массив значений из запроса php mySQL? - PullRequest
0 голосов
/ 20 ноября 2011

В основном я пытаюсь войти в систему. Я понимаю очень небольшое количество PHP, но каждый раз, когда я пытаюсь войти, это работает. Так что это не следует моему утверждению if ниже. Поэтому я хотел бы посмотреть, может ли кто-нибудь помочь мне распечатать результаты в виде строки. Каждый раз, когда я повторяю это, он говорит, что ошибка не может быть напечатана как строка. Что заставляет меня думать, что это массив, кто-то может помочь? = (* * Тысяча одна

<?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 ]

1 голос
/ 20 ноября 2011

Вы должны использовать это:

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

Сначала выводится эхо, чтобы печать массива была правильно отформатирована. Если вы этого не сделаете, все будет в одной строке.

Надеюсь, это помогло! : D

1 голос
/ 20 ноября 2011

Используйте var_dump($output) или print_r($output) для отображения содержимого массива.

0 голосов
/ 20 ноября 2011

Функция mysqli_query возвращает false для неудачных запросов. он возвращает объект MySQLi_Result для запросов select или show и true для запросов вставки и обновления.

если ваш запрос по какой-то причине не удался, ваш скрипт умрет из-за оператора or die и никогда не вернет false.

if ($results = 1) 

оператор присваивает 1 вашей переменной результата. когда ваш скрипт выполняется, ваш код входит в этот блок if. потому что вы управляете оператором присваивания независимо от того, сделано это или нет.

ваш запрос является выбранным, функция mysqli_query возвращает объект MySQLi_Result.

0 голосов
/ 20 ноября 2011

mysql_query () возвращает дескриптор результата оператора, а НЕ данные, которые вы запрашивали в запросе.Сначала вам нужно получить строку данных, чтобы получить доступ к фактическим данным запроса:

$result = mysqli_query(...);

$row = mysqli_fetch_row($result);
$count = $row[0];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...