# Php/mysql troubles

**URL:** <https://forum.kirupa.com/t/php-mysql-troubles/56919>\
**Category:** Uncategorized\
**Created:** [July 8, 2004, 7:34pm UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919 "2004-07-08T19:34:23Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![tucker](https://avatars.discourse-cdn.com/v4/letter/t/8c91f0/32.png) [@tucker](https://forum.kirupa.com/u/tucker)\
**Post date:** [July 8, 2004, 7:34pm UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/1 "2004-07-08T19:34:23Z")

</div>

okay, i just did this registration code and it says that im calling an undefined function, “valid\_email” though i made the function in the beginning, heres the code:

```php

<?php

function filled_out($form_vars)
{
foreach($form_vars as $key => $value)
{
if(!isset($key) || ($value == '')){
return flase;
}
return true;
}

function valid_email($email)
{
if(ereg('^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-+\.]+$', $address))
return true;
else
return flase;
}

function db_connect()
{
$result = mysql_pconnect('localhost', 'tucker_tucker', 'raymond');
if(!result)
return false;
if(!mysql_select_db('tucker_users'))

return false;

return $result;

}

function register($username, $email, $password)
{
$conn = db_connect();
if (!$conn)
return 'Could not connect to the databse, please try again later';

$result = mysql_query("select * from user where username='$username'");
}

if(!$result)
return'Could not execute query';
if(mysql_num_rows($result)>0)
return 'That username is taken- go back and chose a different username.';

$result = mysql_query("insert into user values('$username', password('$password'), '$email')");

if (!$result)
return 'Could not register you in database - please try again later.';
return true;
}

$username = $HTTP_POST_VARS['username'];
$email = $HTTP_POST_VARS['email'];
$password = $HTTP_POST_VARS['password'];
$confirm = $HTTP_POST_VARS['confirm'];
session_start();

if(!filled_out($HTTP_POST_VARS)){
echo 'You have not filled out all of the form, please go back and try again';
exit;
}

if(!valid_email($email)){
echo 'The email adress you entered was not valid, please go back and try again';
exit;
}

if(strlen($password)<6 || strlen($password)>16){
echo 'Your password is an invalid length, please go back and try again';
exit;
}

if($password != $confirm){
echo 'Your passwords do not match, please go back and try again';
exit;
}
$reg_result = register($username, $email, $password);
if($reg_result == true){
$HTTP_SESSION_VARS['valid_user'] = $username;

echo 'Your registration was successful!';
}
else{
echo $reg_result;
exit;
}

?>

```

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 8, 2004, 7:45pm UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/2 "2004-07-08T19:45:05Z")

</div>

wait, i fixed it, i forgot to put in brackets _WACK_

but now it says unexpected $ on line 96, line 96 is:  
?\>

um i dont see a $ anywhere

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 8, 2004, 7:54pm UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/3 "2004-07-08T19:54:11Z")

</div>

I think all your troubles are caused by the left curly bracket at the end of line 7. You don’t have a matching right bracket for it.

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 8, 2004, 8:03pm UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/4 "2004-07-08T20:03:45Z")

</div>

okay, i put in all the curly brackets, and it still doesnt work, heres my updated code:

```php

<?php

function filled_out($form_vars)
{
foreach($form_vars as $key => $value)
{
if(!isset($key) || ($value == '')){
return false;
}else{
return true;
}

function valid_email($address)
{
if(ereg('^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-+\.]+$', $address)){
return true;
}
else
{
return flase;
}
}

function db_connect()
{
$result = mysql_pconnect('localhost', 'tucker_tucker', 'raymond');
if(!result)
return false;
if(!mysql_select_db('tucker_users')){

return false;
}else{
return $result;
}
}

function register($username, $email, $password)
{
$conn = db_connect();
if (!$conn){
return 'Could not connect to the databse, please try again later';
}
$result = mysql_query("select * from user where username='$username'");

if(!$result){
return'Could not execute query';
}
if(mysql_num_rows($result)>0){
return 'That username is taken- go back and chose a different username.';
}else{
$result = mysql_query("insert into user values('$username', password('$password'), '$email')");

if (!$result){
return 'Could not register you in database - please try again later.';
return true;
}
}

$username = $HTTP_POST_VARS['username'];
$email = $HTTP_POST_VARS['email'];
$password = $HTTP_POST_VARS['password'];
$confirm = $HTTP_POST_VARS['confirm'];
session_start();

if(!filled_out($HTTP_POST_VARS)){
echo 'You have not filled out all of the form, please go back and try again';
exit;
}

if(!valid_email($email)){
echo 'The email adress you entered was not valid, please go back and try again';
exit;
}

if(strlen($password)<6 || strlen($password)>16){
echo 'Your password is an invalid length, please go back and try again';
exit;
}

if($password != $confirm){
echo 'Your passwords do not match, please go back and try again';
exit;
}
$reg_result = register($username, $email, $password);
if($reg_result == true){
$HTTP_SESSION_VARS['valid_user'] = $username;

echo 'Your registration was successful!';
}
else{
echo $reg_result;
exit;
}

?>

```

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 8, 2004, 8:43pm UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/5 "2004-07-08T20:43:17Z")

</div>

okay i went through it and found a bunch of errors, so heres the updated code:

```php

<?php

function filled_out($form_vars)
{
foreach($form_vars as $key => $value)
{
if(!isset($key) || ($value == '')){
return false;
}else{
return true;
}
}

function valid_email($address)
{
if(ereg('^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-+\.]+$', $address)){
return true;
}
else
{
return flase;
}
}

function db_connect()
{
$result = mysql_pconnect('localhost', 'tucker_tucker', 'raymond');
if(!result){
return false;
}
if(!mysql_select_db('tucker_users')){
return false;
}else{
return $result;
}
}

function register($username, $email, $password)
{
$conn = db_connect();
if (!$conn){
return 'Could not connect to the databse, please try again later';
}else{
$result = mysql_query("select * from user where username='$username'");
}
if(!$result){
return'Could not execute query';
}
if(mysql_num_rows($result)>0){
return 'That username is taken- go back and chose a different username.';
}else{
$result = mysql_query("insert into user values('$username', password('$password'), '$email')");
}
if (!$result){
echo 'Could not register you in database - please try again later.';
}else{
return true;
}
}

$username = $HTTP_POST_VARS['username'];
$email = $HTTP_POST_VARS['email'];
$password = $HTTP_POST_VARS['password'];
$confirm = $HTTP_POST_VARS['confirm'];
session_start();

if(!filled_out($HTTP_POST_VARS)){
echo 'You have not filled out all of the form, please go back and try again';
exit;
}

if(!valid_email($email)){
echo 'The email adress you entered was not valid, please go back and try again';
exit;
}

if(strlen($password)<6 || strlen($password)>16){
echo 'Your password is an invalid length, please go back and try again';
exit;
}

if($password != $confirm){
echo 'Your passwords do not match, please go back and try again';
exit;
}
$reg_result = register($username, $email, $password);
if($reg_result == true){
$HTTP_SESSION_VARS['valid_user'] = $username;

echo 'Your registration was successful!';
}
else{
echo $reg_result;
exit;
}

?>

```

Parse error: parse error, unexpected $ in /home2/tucker/public\_html/register.php on line 98

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 8, 2004, 9:24pm UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/6 "2004-07-08T21:24:46Z")

</div>

In valid\_email your have ‘return flase;’.

In db\_connect you have ‘if (!result)’. It’s missing a $ sign.

And you are missing a right curly bracket somewhere.

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 8, 2004, 9:53pm UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/7 "2004-07-08T21:53:43Z")

</div>

um whats wrong with return false?

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 8, 2004, 10:17pm UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/8 "2004-07-08T22:17:29Z")

</div>

Nothing. But you’ve spelt it ‘flase’… 🙂

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 8, 2004, 10:31pm UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/9 "2004-07-08T22:31:21Z")

</div>

oh… he he he

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 9, 2004, 12:41am UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/10 "2004-07-09T00:41:24Z")

</div>

ehs, i got through the php troubles, but now im having mysql troubles! ehs this time im stumped:

```php

<?php
//functions

//checks if user filled out all the forms-fns
function filled_out($form_vars){
foreach($form_vars as $key => $value){
if(!isset($key) || ($value == '')){
return false;
}else{
return true;
}
}
}

//checks if the user put in a valid email adress-fns
function valid_email($address)
{
if(ereg('^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-z0-9\-\.]+$', $address)){
return true;
}
else
{
return false;
}
}

//connects to a database-fns
function db_connect()
{
$result = mysql_pconnect('localhost', 'tucker_tucker', 'raymond');
if(!$result){
return false;
}
if(!mysql_select_db('tucker_users')){
return false;
}else{
return $result;
}
}

//register the user, checks if username is taken - fns
function register($username, $email, $password)
{
$conn = db_connect();
if (!$conn){
return 'Could not connect to the databse, please try again later';
}else{
$result = mysql_query("select * from users where username='$username'");
}
if(!$result){
return'Could not execute query';
}
if(mysql_num_rows($result)>0){
return 'That username is taken - go back and chose a different username.';
}else{
$result = mysql_query("insert into users values('null', '$username', '$password', '$email')");
}
if (!$result){
echo 'Could not register you in database - please try again later.';
}else{
return true;
}
}

//end of functions

//create short variables
$username = $HTTP_POST_VARS['username'];
$email = $HTTP_POST_VARS['email'];
$password = $HTTP_POST_VARS['password'];
$confirm = $HTTP_POST_VARS['confirm'];
session_start();

if(!filled_out($HTTP_POST_VARS)){
echo 'You have not filled out all of the form, please go back and try again';
exit;
}

if(!valid_email($email)){
echo 'The email adress you entered was not valid, please go back and try again';
exit;
}

if(strlen($password)<6 || strlen($password)>16){
echo 'Your password is an invalid length, please go back and try again';
exit;
}

if(strlen($username)<6 || strlen($username)>16){
echo 'Your username is an invalid length, please go back and try again';
exit;
}

if($password != $confirm){
echo 'Your passwords do not match, please go back and try again';
exit;
}
$reg_result = register($username, $email, $password);
if($reg_result === true){
$HTTP_SESSION_VARS['valid_user'] = $username;

echo 'Your registration was successful!';
}else{
echo $reg_result;
exit;
}
?>

```

and in my sql file:

use tucker\_users

create table users (  
customerid int unsigned auto\_increment not null primary key,  
username varchar(16) not null,  
password char(16) not null,  
email varchar(100) not null,  
);

grant select, insert, update, delete  
on tucker\_users.\*  
to tucker\_tucker@localhost identified by ‘\*\*\*\*\*\*\*’;

and i get the message, could not execute query, which is from this section of the php file:

```php

$result = mysql_query("select * from users where username='$username'");
}
if(!$result){
return'Could not execute query';
}

```

but i dont know whats wrong D=

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 9, 2004, 3:57am UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/11 "2004-07-09T03:57:16Z")

</div>

Add the die part. and see whats the result…

```php

$result = mysql_query("select * from users where username='$username'") or die(mysql_error());

```

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 9, 2004, 6:11am UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/12 "2004-07-09T06:11:38Z")

</div>

Your select looks fine - as long as you don’t put an apostrophe in the username. Then it’ll break.

I’d change the insert to **insert into users (username, password, email) values(’$username’, ‘$password’, ‘$email’)** to avoid setting customerid to null. Your method might work, but it looks wierd that you try to set customerid to null and you’ve specified that it can’t be null at the same time.

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 9, 2004, 7:15pm UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/13 "2004-07-09T19:15:57Z")

</div>

oh he he

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 9, 2004, 10:59pm UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/14 "2004-07-09T22:59:03Z")

</div>

Besides that during dev. of youre script its always adviced to add

```php

or die(mysql_error()); 

```

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 10, 2004, 1:53am UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/15 "2004-07-10T01:53:22Z")

</div>

Warning: mysql\_num\_rows(): supplied argument is not a valid MySQL result resource on line 45  
Could not register you in database - please try again later.Could not register you in the database

heres the part thats having trouble:

//registers the user in the database  
function register($username, $email, $password)  
{  
$connect = db\_connect;  
if(!$connect){  
echo ‘Could not connect to the database, please try again later’;  
}  
$result = mysql\_query(“select \* from useres where username=’$username’”);  
if(mysql\_num\_rows($result)\>0){  
return ‘That username is taken - go back and chose a different username.’;  
}else{  
$result = mysql\_query(“insert into users (username, password, email) values(’$username’, ‘$password’, ‘$email’))”);  
}  
if (!$result){  
echo ‘Could not register you in database - please try again later.’;  
}else{  
return true;  
}  
}

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 10, 2004, 2:07am UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/16 "2004-07-10T02:07:31Z")

</div>

inside the function you will have to make the $connect global

```php

global $connect;

```

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 10, 2004, 6:24am UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/17 "2004-07-10T06:24:19Z")

</div>

when i add that it says i cant connect to the database =X

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 10, 2004, 7:19am UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/18 "2004-07-10T07:19:02Z")

</div>

Well you sure you put in the right db name? are you connecting to a existing db ?

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 10, 2004, 4:31pm UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/19 "2004-07-10T16:31:39Z")

</div>

yup

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/kirupa/original/3X/6/2/621e5c11736f46532526e61be85940af4230f3e5.png) [@system](https://forum.kirupa.com/u/system)\
**Post date:** [July 10, 2004, 5:30pm UTC](https://forum.kirupa.com/t/php-mysql-troubles/56919/20 "2004-07-10T17:30:13Z")

</div>

Have you cut and pasted your code? Because then the problem is probably that you’ve misspelled the name of your table. It says ‘useres’…

[Next page](https://forum.kirupa.com/t/php-mysql-troubles/56919.md?page=2)
