Jump to content

"error: Query Was Empty" While Verifying Unique Email.


BrettHartel

Recommended Posts

Thank you for the help thus far everyone!

 

I have updated my code with the help of reqinix. Now I have this error:

 

Error: Query was empty

 

Brief - I want the user to enter their eMail into the form and submit it to signup.php; the PHP file will do the following:

  1. Generate a random User_ID that is 16 characters long.
     

  2. Check the database to make sure the Unque_ID does not exist. If it does exists the script will generate another random User_ID and attempt again . If it does NOT exist the PHP script will continue.
     

  3. Check the database to make sure the eMail does not exists. If it does exists the fuction will not create a new account and displays "eMail already exists." If it does NOT exists then the script will continue.
     

  4. The PHP script will add the informtion to the table named "eMail" as a new entry.

Here is the updated script with requinix's help:

 

<?php
$con = mysql_connect("localhost","******","******");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("diamon79_mysql", $con);

function generateRandomString($Generate_ID = 16) {
return substr(str_shuffle("01234567890123456789"), 0, $Generate_ID);
}
$searchquery = "SELECT * FROM eMail WHERE `User_ID` = '$Generate_ID'";
$searchresult = mysql_query($searchquery) or die(mysql_error());
if (mysql_num_rows($searchresult) == 0) {
$User_Id = $Generate_ID;
eMailCheck();
}
// no rows found
else {
generateRandomString();
}
function eMailCheck() {
$eMail = "$_POST[eMail]";
return $eMail;
}
$searcheMailquery = "SELECT * FROM eMail WHERE `eMail` = '$eMail'";
$searcheMailresult = mysql_query($searcheMailquery) or die(mysql_error());

if (mysql_num_rows($searcheMailresult) == 0) {
PostInformation();
}
// no rows found
else {
echo "eMail already exists";
}

function PostInformation() {
$sql="INSERT INTO eMail (User_D, eMail)
VALUES
('$User_ID','$_POST[eMail]')";
}
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";

mysql_close($con);
?>
Edited by BrettHartel
Link to comment
Share on other sites

1 and 2 can be solved with the php function uniqid(); I see no reason why it needs to be 16 characters long (only 3 longer than what uniqid will create). Unless you can explain it.

 

3.

$result = mysql_query(SELECT * FROM table WHERE email = '$email');
if(mysql_num_rows($result) != "0") {
echo "Email exists in the database.";
} else {
// execute the rest
}

 

4. I don't think I even need to explain it...

Edited by SocialCloud
Link to comment
Share on other sites

Sorry to confuse you SocialCloud. I am confused about why I keep receiving the error "Error: Query was empty". I am new to PHP and Im not sure where I went wrong. The four points were just to allow the reader to know what I was trying to do.

 

For your comment about #3, is my code incorrect?

Link to comment
Share on other sites

The query is empty because the php variable, $sql, being put into the mysql_query() statement, near the end of your posted code, doesn't exist in the program scope where the mysql_query() statement is at.

 

Your PostInformation() function definition ends immediately after the assignment statement for the $sql variable. It should end after the echo "1 record added"; statement.

Link to comment
Share on other sites

For a function definition, the statements between the opening and closing braces { ... } are the code for that function definition.

 

function PostInformation() {

 

// statements that are part of this function definition go here...

 

}

 

You would need to move the closing } down so that it is after all the statements you intended to be inside that function definition.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.