Hello all,

I have been using mysql_fetch_array to read data from a query to a php array so i can then use it on my webpage. Everything was going fine until now...

I cant see the problem with my code, but it keeps calling the or die() error handler when trying to get the array. here is the code:

$sqlProject = "select * from project where ProjectName='.$pName.';";
                          $queryProject = mysql_query($sqlProject) or die("query Project error ");
                          $workType= Array();
                         
                          while($proj = mysql_fetch_array($queryProject) or die("error in fetch array")){

the $pName variable is being passed to the sql statment fine and the mysql_query($sqlProject) statment isnt throwing any errors, but the mysql_fetch_array() is! it wont throw any mysql_error() messages in the die() handler, just a string to let me know something is wrong.

Does this mean its a php problem and not a mysql problem?

I am totally lost/confused with this... please help me!

thx

Mike

Are you sure the query is returning results? Are the results an array?

print_r($sqlProject); so you know the query looks lik you think it should. Try running that query in phpMyAdmin and see what the results are, that may help you figure out what's going on.

You may need to add the resource link to the query: mysql_query($sqlProject, $link); This link is made using mysql_connect() so look for :

$somename = mysql_connect(login stuff...);

and then you wound want to have it:

$queryProject = mysql_query($sqlProject, $somename)...

Comments
good helpful asvice

Hi there,

I managed to fix the problem. the $pName variable needed some white space trimming from the end and I used the LIKE %varname% operator instead of =.

cheers for the halp though

Beat me to it. Was gonna say the problem is in the value of your pName variable which was likely causing an incorrect query string, hence no result.

ah bugger, this was over 4 days ago.

This article has been dead for over six months. Start a new discussion instead.