MySQL Not Returning Error, and not posting to database

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
User avatar
tecktalkcm0391
DevNet Resident
Posts: 1030
Joined: Fri May 26, 2006 9:25 am
Location: Florida

MySQL Not Returning Error, and not posting to database

Post by tecktalkcm0391 »

I cannot get this to insert into a database, or to return an error with mysql_error(); ... Note: I now that this isn't as secure as it could be, but its just something basic i'm working on.

Code: Select all

<?php
// Connects to your Database
$link = mysql_connect("sql.site.com", "username", "password") or die(mysql_error());
mysql_select_db("db") or die(mysql_error());
 
//This code runs if the form has been submitted
if (isset($_POST['submit'])) {
 
//This makes sure they did not leave any fields blank
if (!$_POST['username'] | !$_POST['pass'] | !$_POST['pass2'] ) {
die('You did not complete all of the required fields');
}
 
// checks if the username is in use
if (!get_magic_quotes_gpc()) {
$_POST['username'] = addslashes($_POST['username']);
}
$usercheck = $_POST['username'];
$check = mysql_query("SELECT username FROM users WHERE username = '$usercheck'")
or die(mysql_error());
$check2 = mysql_num_rows($check);
 
//if the name exists it gives an error
if ($check2 != 0) {
die('Sorry, the username '.$_POST['username'].' is already in use.');
}
 
// this makes sure both passwords entered match
if ($_POST['pass'] != $_POST['pass2']) {
die('Your passwords did not match. ');
}
 
// here we encrypt the password and add slashes if needed
$_POST['pass'] = md5($_POST['pass']);
if (!get_magic_quotes_gpc()) {
$_POST['pass'] = addslashes($_POST['pass']);
$_POST['username'] = addslashes($_POST['username']);
$_POST['fullname'] = addslashes($_POST['fullname']);
$_POST['email'] = addslashes($_POST['email']);
$_POST['phone'] = addslashes($_POST['phone']);
$_POST['address'] = addslashes($_POST['address']);
}
 
// now we insert it into the database
$insert = "INSERT INTO users (username, password, FullName, Email, PhoneNumber, Address)
VALUES ('".$_POST['username']."', '".$_POST['pass']."', '".$_POST['fullname']."', '".$_POST['email']."', '".$_POST['phone']."', '".$_POST['address']."')";
$add_member = mysql_query($insert);
echo mysql_error();
    if(!$add_member){
        echo mysql_error();
    } else {
 
    ?>
    
    
<h1 align="center">Registered</h1>
    <p align="center">Thank you, you have registered - now you need to wait for an admintrator to activate your account.<br />
      Once you're account is activated, and you recieve an email, you will be able to login.
</p>
    
    
    <?php
        
    }
}
else
{
?>
 
 
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table border="0" align="center">
<tr>
  <td>Full Name :</td>
  <td>
<input name="fullname" type="text" id="fullname" maxlength="60">
</td></tr>
<tr>
  <td>E-mail Address :</td>
  <td>
<input name="email" type="text" id="email" maxlength="60">
</td></tr>
<tr>
  <td>Phone Number :</td>
  <td>
<input name="phone" type="text" id="phone" maxlength="60">
</td></tr>
<tr>
  <td valign="top">Address:</td>
  <td><label for="textarea"></label>
<textarea name="address" cols="21" rows="3" id="address"></textarea></td>
</tr>
<tr><td>Username:</td><td>
<input type="text" name="username" maxlength="60">
</td></tr>
<tr><td>Password:</td><td>
<input type="password" name="pass" maxlength="10">
</td></tr>
<tr><td>Confirm Password:</td><td>
<input type="password" name="pass2" maxlength="10">
</td></tr>
<tr><th colspan=2><input type="submit" name="submit" value="Register"></th></tr> </table>
</form>
 
<?php
}
?>
Last edited by tecktalkcm0391 on Thu Jun 05, 2008 6:44 am, edited 1 time in total.
User avatar
Jaxolotl
Forum Contributor
Posts: 137
Joined: Mon Nov 13, 2006 4:19 am
Location: Argentina and Italy

Re: MySQL Not Returning Error, and not posting to database

Post by Jaxolotl »

I replicate de database structure and the script in my testing local machine
Apache 1.3.33
php 4.3.10
mySQl 4.1.9

run the script successfully, and the record was stored correctly on the database.
I didn't make further checks but until here the script did what it was meant to do.
Search the problem maybe on the database permissions for your current user, turn error_reporting to error_reporting(E_ALL) and check if the script is running without errors
User avatar
tecktalkcm0391
DevNet Resident
Posts: 1030
Joined: Fri May 26, 2006 9:25 am
Location: Florida

Re: MySQL Not Returning Error, and not posting to database

Post by tecktalkcm0391 »

Thanks, but I am still having trouble... i guess i'll work on it later.

thanks!
Post Reply