【问题标题】:i write DB fetch code in function but it does not work?我在函数中编写了 DB fetch 代码,但它不起作用?
【发布时间】:2016-08-16 09:19:24
【问题描述】:

我为从 DATABASE 中获取字段编写了这个 下面 函数,但它不起作用:

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_TBL_post(); 但它不起作用。我该如何解决?

【问题讨论】:

标签: php mysql function mysqli


【解决方案1】:
#Refrsh $stmt
$stmt->get_result();
$row = $stmt->fetch_assoc();
return $row;

和你上次做的不一样。 你应该这样做:

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 获取。

【讨论】:

  • 您是否从$row=Refresh_TBL_post()->fetch_assoc(); 的函数调用中删除了 fetch_assoc?因为这应该工作......因为它在技术上与你所说的工作相同。也许你可以澄清什么是行不通的。您如何尝试使用此代码?日志中是否有任何错误,或者当 display_errors 开启时它是否显示任何错误?
  • 我的代码中没有错误。是的,当我从我的函数中取出 fetch_assoc 时。它也有效..
【解决方案2】:

我将功能更改为以下:

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(); 

【讨论】:

  • 我会将fetch 放入函数中,然后将row 作为数组返回。
  • 为什么不呢,会发生什么?不要使用相同的变量名。
  • @chris85 。它无法获取行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-24
  • 2023-01-19
相关资源
最近更新 更多