|  | Posted by Richard Davey on 12/16/05 14:39 
On 16 Dec 2005, at 12:30, Paul Jinks wrote:
 > I have a site where users can search study projects. I'd like to be
 > able to clicks on a project title which passes a variable to this
 > page, which then displays all the data on that project in a table.
 > Cool - and to a noob like me, actually pretty exciting. Except it
 > doesn't work.
 >
 > I get a "couldn't set value of result" message - see end of code.
 > The page displayed all the projects fine when I messed up passing
 > them from the previous page, so the problem is presumably in the
 > first SQL query. Any suggestions?
 >
 > <?
 > 	$connect = mysql_connect("", "", "")
 > 		or die("could not connect");
 > 	$db = mysql_select_db("")
 > 		or die("could not select db");
 > 		if (isset($HTTP_GET_VARS['projTitle']))
 > 	{
 > 		$SQLQuery = "SELECT * FROM project WHERE
 > 			projTitle = ".$HTTP_GET_VARS['projTitle']
 > 			or die("SQLQuery 1 failed");
 > 	}
 > 	else
 > 	{
 > 		$SQLQuery = "SELECT*FROM project ORDER BY projTitle"
 > 			or die("SQLQuery 2 failed");
 > 	}
 > 	$result = mysql_query($SQLQuery,$connect)
 > 			or die("couldn't set value of result");
 >
 > ?>
 
 Well you've got 5 die statements in there - which one does it die on?
 Also check that your web host allows the long array names
 ($HTTP_GET_VARS), because lots do not. I would suggest replacing
 $HTTP_GET_VARS with $_GET (in all instances), because the long format
 will eventually vanish and your script will cease to work.
 
 There are various issues re: SQL injection and lack of filtering
 going on here, but perhaps not best to dwell on those -just yet-, as
 long as you are aware that your script is lacking in all forms of
 security? Then you can address that once you've got it working.
 
 I assume you removed the MySQL details to post to the mailing list,
 otherwise that won't help too much ;)
 
 Cheers,
 
 Rich
 --
 http://www.corephp.co.uk
 PHP Development Services
  Navigation: [Reply to this message] |