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
https://forums.phpfreaks.com/topic/231174-function-errors/
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
https://forums.phpfreaks.com/topic/231174-function-errors/#findComment-1189881
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.