mysqli_fetch_assoc()期望参数1为mysqli_result,给定为null

时间:2015-11-25 03:01:40

标签: php mysqli parameters

我是HTML,.PHP,CSS,JAVA等的新手。我已经解决了我的大部分问题,我的编码来自许多其他堆栈溢出帖子和成员已回答我的问题,但没有真的已经回答了这一个。是什么原因导致我在代码中出现此错误。 “mysqli_fetch_assoc()期望参数1为mysqli_result”如果有人可以提供帮助那就太棒了! (注意:星号标记是封锁信息。)

代码:

<?php
$sitename = "*****.com";
$link = mysqli_connect("*****", "*****", "*****");
$db_selected = mysqli_select_db('*****', $link);
mysqli_query("SET NAMES utf8");

function fetchinfo($rowname,$tablename,$finder,$findervalue) {
        if($finder == "1") $result = mysqli_query("SELECT $rowname FROM     $tablename");
   else $result = mysqli_query($link, "SELECT $rowname FROM $tablename WHERE $finder='$findervalue'");
    $row = mysqli_fetch_assoc($result);
    return $row[$rowname];

} ?&GT;

1 个答案:

答案 0 :(得分:0)

你这里有错误

if($finder == "1") 
      $result = mysqli_query($link,"SELECT $rowname FROM $tablename");  
                             ^// first parameter should be connection object

我应该与else部分查询相同(对参数来说是正确的)

同样删除Fred-ii建议的反引号(`) -

修改

<?php
$sitename = "*****.com";
$link = mysqli_connect("*****", "*****", "*****");
$db_selected = mysqli_select_db('*****', $link);
mysqli_query("SET NAMES utf8");

function fetchinfo($rowname,$tablename,$finder,$findervalue) {
    if($finder == "1") 
        $result = mysqli_query($link, "SELECT $rowname FROM $tablename");
   else 
        $result = mysqli_query($link, "SELECT $rowname FROM $tablename WHERE $finder='$findervalue'");

    $row = mysqli_fetch_assoc($result);
    return $row[$rowname];
}
?>