0

i guess the questions says it all. The result of my query results into a row which will match the condition. I want to get each data from each table column and put into a variable.

$getinfo = "select 
                   user_firstname, 
                   user_middlename, 
                   user_lastname 
              from tempuserinfo 
             where user_email ='$ead' 
               and activation_code='$eac'";

$query = mysql_query($getinfo, $db);
if(!$query) {
    echo'something went wrong.';
} else {
    //put them into variables
    $firstname = mysql_fetch_object($query, 'user_firstname');
    $middlename = mysql_fetch_object($query, 'user_middlename');
    $lastname = mysql_fetch_object($query, 'user_lastname');
}

5 Answers 5

5

If you are getting multiple results, you can loop through them like this:

$getinfo = "select user_firstname, user_middlename, user_lastname from tempuserinfo where user_email ='$ead' and activation_code='$eac'";
$query = mysql_query($getinfo, $db);

while ($row = mysql_fetch_array($query)) {
    $firstname = $row['user_firstname'];
    $lastname = $row['user_lastname'];
}

If you are only getting one row back (make sure you add a LIMIT to your SQL statement), then you can use something like this:

$getinfo = "select user_firstname, user_middlename, user_lastname from tempuserinfo where user_email ='$ead' and activation_code='$eac'";
$query = mysql_query($getinfo, $db);

$row = mysql_fetch_array($query);

$firstname = $row['user_firstname'];
$lastname = $row['user_lastname'];
Sign up to request clarification or add additional context in comments.

Comments

1

mysql_* function are deprecated. In documentation its recommended like in latest versions of PHP they are going to use mysqli_* or PDO.

Below are the script using mysqli for your question:

$mysqli = new mysqli("localhost", "root_user", "root_password", "database");
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$getinfo = "select 
                   user_firstname, 
                   user_middlename, 
                   user_lastname 
              from tempuserinfo 
             where user_email ='$ead' 
               and activation_code='$eac'";



if ($result = $mysqli->query($getinfo)) {    
     while ($row = $result->fetch_object()) {
        $firstname = $row->user_firstname;
        $middlename = $row->user_middlename;
        $lastname =$row->user_lastname;
    }
    $result->close();
}
else
{
   echo'something went wrong.';
}

Comments

1

an example with mysqli, mysql as this deprecated

$sql = "select user_firstname, user_middlename, user_lastname from tempuserinfo where user_email ='$ead' and activation_code='$eac'";

$query = mysqli_query($conn, $sql);
while($rs = mysqli_fetch_assoc($query)){
    $user_firstname = $rs['user_firstname'];
    $user_middlename = $rs['user_middlename'];
    $user_lastname = $rs['user_lastname'];
}

if you want to have all fields in order to consult them later, add them to an array

$i=0;
while($rs = mysqli_fetch_assoc($query)){
    $data[$i] = array('user_firstname'=>$rs['user_firstname'], 'user_middlename'=>$rs['user_middlename'], 'user_lastname'=> $rs['user_lastname']);

    $i++;
}

print_r($data);

Comments

0

This should work:

$result = mysql_fetch_object($query);
$firstname = $result->user_firstname;
$middlename = $result->user_middlename;
$lastname = $result->user_lastname;

BUT: Use MySQLi or PDO sintead mysql module is deprecated already

Comments

0
    $dsn = 'mysql:dbname=testdb;host=127.0.0.1';
    $user = 'dbuser';
    $password = 'dbpass';
    
    try {
        $dbh = new PDO($dsn, $user, $password);
    } catch (PDOException $e) {
        echo 'Connection failed: ' . $e->getMessage();
    }
    try {
      $sth = $dbh->prepare("select user_firstname, user_middlename, user_lastname from tempuserinfo where user_email = ? and activation_code=?");
      $sth->execute(array($ead,$eac));
      $row = $sth->fetch(PDO::FETCH_BOTH);
      $user_firstname = $row['user_firstname'];
      $user_middlename = $row['user_middlename'];
      $user_lastname = $row['user_lastname'];
} catch (PDOException $e) {
        echo 'Database operation failed: ' . $e->getMessage();
    }

Really, do learn to use PDO, because it is as easy as using mysql_*, but much safer and better.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.