Jump to content

Querying a table multiple times in the same script


averagejoe77

Recommended Posts

Ok, I need some serious help here.

 

I have a jQuery .load method that retrieves a single users name from a database. However... I also need to incorporate error checking into the script that the .load method access, so that, if the user enters a name in the field that is not in the database, it will insert it into the database, and then then pull it back out again to be returned by the ajax call.

 

This is the jQuery that performs the call:

$('#submit').click(function(e) {
		var user = $('#user').val();
		var checkurl = "indexData.php";
		$('#username').load(checkurl, 'user=' + user);
		e.preventDefault();
});

 

This is the script form indexData.php:

<?php
	$db = mysql_pconnect('localhost', 'joeme0', 'Galatians2');
if (!$db) 
{
  		die('Could not connect: ' . mysql_error());
}
mysql_select_db('joeme0_brave');
$name = $_POST['name'];
$checkQuery = "select name from users where name='$name'";
$checkResult = mysql_query($checkQuery);
if ($checkResult > 1)
{	
	$insQuery = "insert into users (id, name) values ("", '$name')";
	$insResult = mysql_query($insQuery);
	if ($insResul  0)
	{

		$query="select name from users where name='$name'";
		$result=mysql_query($query);
		while($row=mysql_fetch_array($result)) 
		{ 
			echo $row['name'];
		}
	}
	else
	{
		echo "Cold not insert your name into the database";
	}
}
else
{
	$query="select name from users where name='$name'";
		$result=mysql_query($query);
		while($row=mysql_fetch_array($result)) 
		{ 
			echo $row['name'];
		}
}
?>

 

So far I can get it to pull out a name that is manually entered into the database no problem. But I can't get it to insert a name that isn't in the database, and then query the database a second time to pull that same name back out again.

 

The page is pretty simple. The user comes to the page, enters their name in the text field, either clicks the submit button or presses the enter key. The scripts fire off the ajax call to the database, check to see if the name exists, if not enter it and pull it back out (this is where I have the problem), if so, pull it out and display it back on the page.

 

Link to comment
Share on other sites

Hi Joe,

 

http://php.net/manual/en/function.mysql-query.php

 

"Use mysql_num_rows() to find out how many rows were returned for a SELECT"

 

So if you change your code to

 

$checkQuery = "select name from users where name='$name'";
$checkResult = mysql_query($checkQuery);
if (mysql_num_rows($checkResult) == 0)
{
//insert into database
}

 

Hope that helps.

 

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.