Php 我在函数中编写DB fetch代码,但它不工作?

Php 我在函数中编写DB fetch代码,但它不工作?,php,mysql,function,mysqli,Php,Mysql,Function,Mysqli,我在下面编写了这个函数,用于从数据库中提取字段,但它不起作用: function Refresh_TBL_post() { global $conn; #DB Query Comment $stmt = $conn->prepare("SELECT * FROM post WHERE id=? "); $stmt->bind_param("s", $_REQUEST['editpostId']); #Run Query In DB $stmt->exec

我在下面编写了这个函数,用于从数据库中提取字段,但它不起作用:

function Refresh_TBL_post() {
  global $conn;
  #DB Query Comment
  $stmt = $conn->prepare("SELECT * FROM post WHERE id=? ");
  $stmt->bind_param("s", $_REQUEST['editpostId']);
  #Run Query In DB
  $stmt->execute();
  #Get Count Of Rows    
  #Refrsh $stmt
  $stmt->get_result();
  $row = $stmt->fetch_assoc();
  return $row;
}
我这样调用这个函数
Refresh\u TBL\u post()

但它不起作用。如何修复它?

我将函数更改为如下:

function Refresh_TBL_post()
    {
            global $conn;
            #DB Query Comment
             $stmt = $conn->prepare("SELECT * FROM post WHERE id=? ");
             $stmt->bind_param("s",$_REQUEST['editpostId']);
            #Run Query In DB
             $stmt->execute();
            #Get Count Of Rows  
             #Refrsh $stmt
              $stmt = $stmt->get_result();
         return $stmt;
    }
并像这样使用

#Refresh
$stmt_Refresh_Tbl_post=Refresh_TBL_post();
$row=$stmt_Refresh_Tbl_post->fetch_assoc(); 
 #Refresh
    $row=Refresh_TBL_post()->fetch_assoc(); 
或者像这样

#Refresh
$stmt_Refresh_Tbl_post=Refresh_TBL_post();
$row=$stmt_Refresh_Tbl_post->fetch_assoc(); 
 #Refresh
    $row=Refresh_TBL_post()->fetch_assoc(); 
和你上次做的不一样。 您应该这样做:

function Refresh_TBL_post() {
  global $conn;
  #DB Query Comment
  $stmt = $conn->prepare("SELECT * FROM post WHERE id=? ");
  $stmt->bind_param("s", $_REQUEST['editpostId']);
  #Run Query In DB
  $stmt->execute();
  #Get Count Of Rows    
  #Refrsh $stmt
  $res = $stmt->get_result();
  return $res->fetch_assoc();
}
致电:

$row = Refresh_TBL_post();

这应该行得通。在上一篇文章中,您是从get_result而不是从stmt获取的。

$stmt=$stmt->get_result()?是的,是否有错误?错误日志中是否有任何错误,是否正在检查错误?看看这个,它没有任何错误。我会将
获取
放在函数中,然后将
作为数组返回。为什么不呢,会发生什么?不要使用相同的变量名。@chris85。它无法获取行ID您可以从函数调用中删除Fetch_assoc,该函数调用位于
$row=Refresh_TBL_post()->Fetch_assoc()?因为这应该有用。。。因为它在技术上与下面相同,你所说的确实有效。也许你可以澄清什么是不起作用的。您如何尝试使用此代码?打开“显示错误”时,日志中是否有错误,或日志中是否显示错误?我的代码中没有错误。是的,当我从我的功能中取出fetch_assoc时。它也很管用。。