Jump to content

Function errors


anevins

Recommended Posts

Hi,

I'm trying to output some details from my database, along with a BLOB image.

At the moment I'm having some warnings and notices and I don't know how to solve them.

 

Here's the warnings and notices:

Notice: Undefined index: id in G:\xampp\htdocs\xampp\dsa\search_func.php on line 38

 

Notice: Undefined variable: terms in G:\xampp\htdocs\xampp\dsa\search_func.php on line 13

 

Warning: mysql_query() expects parameter 2 to be resource, object given in G:\xampp\htdocs\xampp\dsa\search_func.php on line 16

 

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in G:\xampp\htdocs\xampp\dsa\search_func.php on line 22

 

Notice: Trying to get property of non-object in G:\xampp\htdocs\xampp\dsa\search_func.php on line 27

 

Notice: Trying to get property of non-object in G:\xampp\htdocs\xampp\dsa\search_func.php on line 27

 

Notice: Trying to get property of non-object in G:\xampp\htdocs\xampp\dsa\search_func.php on line 27

 

Notice: Trying to get property of non-object in G:\xampp\htdocs\xampp\dsa\search_func.php on line 27

 

Notice: Trying to get property of non-object in G:\xampp\htdocs\xampp\dsa\search_func.php on line 28

 

Notice: Trying to get property of non-object in G:\xampp\htdocs\xampp\dsa\search_func.php on line 28

 

Notice: Trying to get property of non-object in G:\xampp\htdocs\xampp\dsa\search_func.php on line 28

 

Here's the function code:

<?php
/*  return the details of an employee
     parameter 
         empno - employee number
         
     eg empHTML.php?empno=7521
    This is  very basic  e.g no error checking      
*/

function search($dbc, $id) { 

// define the query string 
    $query = "SELECT * FROM stick, location, identification WHERE make LIKE '%$terms%' AND stick.sid = location.lid AND identification.stickID = stick.sid ";
   
// execute the query and return a pointer to the resultant SQL relation  
    $dbresult = mysql_query($query,$dbc);
   
// return the result as a simple HTML table
$output = Array();
   
// get each tuple in the table as an object 
      $image = mysql_fetch_object($dbresult);

// interpolate the required employee values  -> is the equivalent of the java DOT notation

$output[] = '<ul>';
$output[] = '<li> Type: '.$image->make .'<br />Size: '.$image->size .$image->type .'<br />Colour: '.$image->colour .
'<br /> Street Missing in: ' .$image->street.'<br />Town missing in: '.$image->town .'<br />City missing in: '.$image->city.'</li>';
$output[] = '</ul>';

return join('',$output);

}
// connect
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

// get the department name from the URL
    $id = $_REQUEST['id'];

// print the table of employees for this department
// put it ina  div HTML element with an emp class to support CSS styling
    print search($dbc, $id);
    print "<img src='getPhoto.php?id=$id'/>";

// close the database
    mysql_close($dbc);

Link to comment
Share on other sites

Ok i've solved those errors and warnings,

I just can't get my search results to loop anymore.

I know there should be more than one result when I run the code, but all I get is 1 result.

 

Here's the new code:

<?php
/*  return the details of an employee
     parameter 
         empno - employee number
         
     eg empHTML.php?empno=7521
    This is  very basic  e.g no error checking      
*/

function search($dbc, $id) { 


if (isset($_GET['terms']) && ($_GET['terms'] != 'Search...') ) {

$terms = $_GET['terms'];
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) or die *('Error connecting to MySQL server');

// define the query string 
    $query = "SELECT * FROM stick, location, identification WHERE make LIKE '%$terms%' AND stick.sid = location.lid AND identification.stickID = stick.sid ";
   
// execute the query and return a pointer to the resultant SQL relation  
//   $dbresult = mysql_query($query,$dbc);
$result=mysqli_query($dbc,$query);	

   	$num_rows = mysqli_num_rows($result);

// return the result as a simple HTML table
$output = Array();
   
// get each tuple in the table as an object 
    $image = mysqli_fetch_object($result);

// interpolate the required employee values  -> is the equivalent of the java DOT notation
if ($num_rows > 0){ 
			if($result=mysqli_query($dbc,$query)){

				$output[] = '<ul>';
				$output[] = '<li> Type: '.$image->make .'<br />Size: '.$image->size .$image->type .'<br />Colour: '.$image->colour .
				'<br /> Street Missing in: ' .$image->street.'<br />Town missing in: '.$image->town .'<br />City missing in: '.$image->city.'</li>';
				$output[] = '</ul>';

			}

return join('',$output);
}
else {
	echo "<h3>Sorry,</h3>";
	echo "<p>your search: "" .$terms. "" returned zero results</p>";
}


}
	else { // Tell them to use the search form.
	echo '<p class="error">Please use the search form at the top of the window to search this site.</p>';
}
}
// connect
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

// get the department name from the URL
$id = $_REQUEST['id'];

// print the table of employees for this department
// put it ina  div HTML element with an emp class to support CSS styling
print search($dbc, $id);
print "<img src='getPhoto.php?id=$id'/>";

// close the database
mysqli_close($dbc);			

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.