user3155326
user3155326

Reputation: 53

Simple query not running

First off, I am aware I am open to SQL injection, this is just a prototype. But it still should be working.

For the life of me I can't figure out why I can't pull an item out of my array. What could I possibly be doing wrong? I've been fiddling with this seemingly simple query for way too long and I can't seem to get it to pull out data. I feel like it is something so simple....

$query = 'SELECT * FROM users WHERE email = "' . $email . '"';
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($result);
$ID = $row['ID'];

I am getting no result for $ID ....

Here is my entire code:

<html>
<head>
<?php

$email = $_GET["email"];
$servername="localhost";
$username="*****";
$password="*****";
$database="*****";
$conn= mysql_connect($servername,$username,$password)or die(mysql_error());
mysql_select_db("$database",$conn);


$query = 'SELECT email FROM users WHERE email = "' . $email . '"';
$result = mysql_query($query) or die(mysql_error());



//Checks if the email address exists in the system already
if (mysql_num_rows($result) ) {
        die("Duplicate email found!");
    }
    else {
          //use current date/time combination times the number 11 times the ID to get a unique confirmation number.
          $query = 'SELECT * FROM users WHERE email = "' . $email . '"';
          $result = mysql_query($query) or die(mysql_error());
          $row = mysql_fetch_assoc($result);
          $ID = $row['ID'];
          echo $row;
          $date = date("mydhis");
          $date2 = $date * 11 * $ID;
          echo $ID . "  <-> " . $date . "  <->  <p>" . $date2;
          $sql="insert into users (first,last,displayname,email,password,verification_email)values('$_GET[first]','$_GET[last]','$_GET[display]','$_GET[email]','$_GET[password]','$date2')";
          $result=mysql_query($sql,$conn) or $string = mysql_error();
          $confirmlink = "http://www.somewebsite.com/android/confirm.php?" . $date2;


          $to = $_GET['email'];
          $subject = "Thank you for Registering!";
          $message = "Hello " . $_GET['display'] . " and thank you for registering with the Smeet app!  To confirm your email address (and let us know you aren't a bot), please click the following link: " . $confirmlink;
          $from = "[email protected]";
          $headers = "From:" . $from;
          mail($to,$subject,$message,$headers) or die('You have successfully registered however mail servers are currently down, you may or may not receive a confirmation email');

          print "<h1>You have registered successfully</h1>";
          print "You will receive an email shortly with instructions on how to confirm your email address.</a>";
    }
?>

 </body>
 </html>

Thanks for any help at resolving this.

Upvotes: 0

Views: 83

Answers (1)

user3155326
user3155326

Reputation: 53

It was a simple answer and I figured it out!

My $ID was being pulled before the record was created, that's why it was blank! Dumb mistake on my part.

Upvotes: 1

Related Questions