-1

I'm getting the following error:

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /home/inv/public_html/set.php on line 19

Line 19 is:

    $row = mysql_fetch_assoc($result);

Full Code:

<?php

$sitename = "ASDASDCSGO";

$link = mysql_connect("localhost", "x", "y");

$db_selected = mysql_select_db('x', $link);

mysql_query("SET NAMES utf8");



function fetchinfo($rowname,$tablename,$finder,$findervalue) {

    if($finder == "1") $result = mysql_query("SELECT $rowname FROM $tablename");

    else $result = mysql_query("SELECT $rowname FROM $tablename WHERE `$finder`='$findervalue'");

    $row = mysql_fetch_assoc($result);

    return $row[$rowname];

}

?>
Ryan McDonough
  • 9,467
  • 3
  • 53
  • 75

2 Answers2

0

This warning generates because your $result is null. check your result is boolean or not.

    <?php

$sitename = "ASDASDCSGO";

$link = mysql_connect("localhost", "x", "y");

$db_selected = mysql_select_db('x', $link);

mysql_query("SET NAMES utf8");



function fetchinfo($rowname,$tablename,$finder,$findervalue) {
     // you can't access php variable as a string in query
    if($finder == "1") $result = mysql_query("SELECT '.$rowname.' FROM '.$tablename.'");

    else $result = mysql_query("SELECT '.$rowname.' FROM '.$tablename.' WHERE '.$finder.'='.$findervalue.'");

    if(!is_bool($result)){ // this is for checking your $result varible is boolean or not
    $row = mysql_fetch_assoc($result);
    }else{
    echo "Error";
    }

    return $row[$rowname];

}

?>
Deepak saini
  • 3,772
  • 2
  • 14
  • 20
0
<?php
function fetchinfo($rowname,$tablename,$finder,$findervalue) {

    if($finder == "1") $result = mysql_query("SELECT $rowname FROM $tablename");

    else $result = mysql_query("SELECT ".$rowname." FROM ".$tablename." WHERE ".$finder."=".$findervalue."");

    $row = mysql_fetch_assoc($result);

    return $row[$rowname];

}

or you can use your query like this

mysql_query('SELECT {$rowname} FROM {$tablename} WHERE {$finder}={findervalue}');
Lemon Kazi
  • 3,276
  • 2
  • 35
  • 63