mysqli_stmt_fetch返回数字


mysqli_stmt_fetch returns number

这是我第一次尝试准备好的语句,我没有返回单个文本元素,而是得到了一个数字。具体编号为1。有人说它与计数记录有关,但我不知道如何关闭它。

function primary_include2($url_keyword)
  {
    $link = select_db();
    $query = "select file_path FROM primary_includes WHERE url_label=?";
    $stmt = mysqli_prepare($link, $query);
    mysqli_stmt_bind_param($stmt, 's', $url_keyword);
    if ($result = mysqli_stmt_execute($stmt)); 
      {
        mysqli_stmt_bind_result($stmt, $file_path);
        $path = mysqli_stmt_fetch($stmt);
        return $path;
        }
    mysqli_close($link);
  }

应该是:

function primary_include2($url_keyword)
{
    $link = select_db();
    $query = "select file_path FROM primary_includes WHERE url_label=?";
    $stmt = mysqli_prepare($link, $query);
    mysqli_stmt_bind_param($stmt, 's', $url_keyword);
    if ($result = mysqli_stmt_execute($stmt)); 
    {
        mysqli_stmt_bind_result($stmt, $file_path);
        mysqli_stmt_fetch($stmt);
        return $file_path;
    }
    mysqli_close($link);
}

因为无论是否检索到记录,mysqli_stmt_fetch都会返回true/false。实际值存储在指向mysqli_stmt_bind_result的变量中。