Skip to content Skip to sidebar Skip to footer

Retrieving Data From MySQL - Only Logged In User

I am building a new project right now and finished my login/registration script. It is working so far but now I need a new function and I am not sure how exactly I should do that.

Solution 1:

You could accomplish this like so:

<?php
# Store the user input username
if (isset($_SESSION['email']) && strlen($_SESSION['email']) > 0) {
    $email = $_SESSION['email'];
} else {
    // Die the error
    printf('No email address available');
    exit;
}

# Set DB connection details
$DBHost = 'localhost';
$DBUser = 'username';
$DBPass = 'password';
$DBName = 'database';
// Configure error reporting
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

# Create a database connection for PHP to use
$link = mysqli_connect($DBHost, $DBUser, $DBPass, $DBName);
// Set encoding type to uft8
mysqli_set_charset($link, 'utf8mb4');

# Query the database
// Build the query
$query = 'SELECT `firstname`,`lastname`,`username` FROM `table` WHERE `email` = ? LIMIT 1 ';
// Prepare it
$stmt = $link->prepare($query);
// Bind in the user input data so as to avoid SQL injection
$stmt->bind_param('s', $email);
// Execute the query
$stmt->execute();
// Bind the results to some variables
$stmt->bind_result($firstname, $lastname, $username);
// Fetch the data
$stmt->fetch();
// Close the query
$stmt->close();

# Build the html
$pageHtml = '
<p>First Name: '.$firstname.'</p>
<p>Last Name: '.$lastname.'</p>
<p>User Name: '.$username.'</p>
';

# Display the html
echo $pageHtml;

Further Reading

MySQLi Manual:

http://php.net/manual/en/book.mysqli.php

About MySQLi Connections:

http://php.net/manual/en/mysqli.quickstart.connections.php

About MySQLi Prepared Statements:

http://php.net/manual/en/mysqli.quickstart.prepared-statements.php

About database table indexes and "where" to use them... Pun intended :)

How does database indexing work?

http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html


Post a Comment for "Retrieving Data From MySQL - Only Logged In User"