Skip to main content

PHP query does not return result



This query is not returning any result as there seems to be an issue with the sql.







$sql = "select region_description from $DB_Table where region_id='".$region_id."' and region_status =(1)";

$res = mysql_query($sql,$con) or die(mysql_error());

$result = "( ";

$row = mysql_fetch_array($res);

$result .= "\"" . $row["region_description"] . "\"";

while($row = mysql_fetch_array($res))

{

echo "<br /> In!";

$result .= " , \"" . $row["region_description"] . "\"";

}

$result .= " )";

mysql_close($con);

if ($result)

{

return $result;

}

else

{

return 0;

}







region_id is passed as 1.





I do have a record in the DB that fits the query criteria but no rows are returned when executed. I beleive the issue is in this part ,







region_id='".$region_id."'







so on using the gettype function in my php it turns out that the datatype of region_id is string not int and thus the failure of the query to function as my datatype in my tableis int. what would be the way to get parameter passed to be considered as an int in php. url below







GetRegions.php?region_id=1







Thanks


Comments

  1. Try it like this:

    $sql = "SELECT region_description FROM $DB_Table WHERE region_id = $region_id AND region_status = 1"

    The region_id column seems to be an integer type, don't compare it by using single quotes.

    ReplyDelete
  2. Try dropping the ; at the end of your query.

    ReplyDelete
  3. First of all - your code is very messy. You mix variables inside string with escaping string, integers should be passed without '. Try with:

    $sql = 'SELECT region_description FROM ' . $DB_Table . ' WHERE region_id = ' . $region_id . ' AND region_status = 1';


    Also ; should be removed.

    ReplyDelete
  4. try this

    $sql = "select region_description from $DB_Table where region_id=$region_id AND region_status = 1";

    When you are comparing the field of type integer, you should not use single quote

    Good Luck

    Update 1

    Use this.. It will work

    $sql = "select region_description from " .$DB_Table. " where region_id=" .$region_id. " AND region_status = 1";

    ReplyDelete
  5. Who are all these people?
    What is this site?
    Where am I?

    Five answers and every one of them telling the OP to remove things that has absolutely no effect on the query.

    Why to answer a question if you have no knowledge nor practical experience on the matter at all?

    ReplyDelete
  6. You do not need the single quotes around the region id i.e.

    $sql = "SELECT region_description FROM $DB_Table WHERE region_id = $region_id AND region_status = 1"

    ReplyDelete

Post a Comment

Popular posts from this blog

Why is this Javascript much *slower* than its jQuery equivalent?

I have a HTML list of about 500 items and a "filter" box above it. I started by using jQuery to filter the list when I typed a letter (timing code added later): $('#filter').keyup( function() { var jqStart = (new Date).getTime(); var search = $(this).val().toLowerCase(); var $list = $('ul.ablist > li'); $list.each( function() { if ( $(this).text().toLowerCase().indexOf(search) === -1 ) $(this).hide(); else $(this).show(); } ); console.log('Time: ' + ((new Date).getTime() - jqStart)); } ); However, there was a couple of seconds delay after typing each letter (particularly the first letter). So I thought it may be slightly quicker if I used plain Javascript (I read recently that jQuery's each function is particularly slow). Here's my JS equivalent: document.getElementById('filter').addEventListener( 'keyup', function () { var jsStart = (new Date).getTime()...

Is it possible to have IF statement in an Echo statement in PHP

Thanks in advance. I did look at the other questions/answers that were similar and didn't find exactly what I was looking for. I'm trying to do this, am I on the right path? echo " <div id='tabs-".$match."'> <textarea id='".$match."' name='".$match."'>". if ($COLUMN_NAME === $match) { echo $FIELD_WITH_COLUMN_NAME; } else { } ."</textarea> <script type='text/javascript'> CKEDITOR.replace( '".$match."' ); </script> </div>"; I am getting the following error message in the browser: Parse error: syntax error, unexpected T_IF Please let me know if this is the right way to go about nesting an IF statement inside an echo. Thank you.