dorflv5944 2018-08-30 09:00
浏览 93
已采纳

将mysqli存储结果作为字符串

I am trying to find the corresponding bookId for the bookName received from post in a way to avoid errors caused by quotes within the books name.

I am attempting to bind the param to $stmt as $bookName and storing the result as $stmt but

echo $stmt; 

gives this error:

Recoverable fatal error: Object of class mysqli_stmt could not be converted to string

So I am not sure what I am doing...

  $bookName = trim($_POST['bookName']);

  $sql = "SELECT bookId FROM Book WHERE bookName = ?";

  if($stmt = mysqli_prepare($conn, $sql)){
      mysqli_stmt_bind_param($stmt, "s", $bookName);
      if((mysqli_stmt_execute($stmt))){
          mysqli_stmt_store_result($stmt);
      }
      else{
            header("location: error.php");
      }
  }

I was to save the bookId as $bookId

The following code does what I needed

  if($stmt = mysqli_prepare($conn, $sql)){
      mysqli_stmt_bind_param($stmt, "s", $bookName);
      if((mysqli_stmt_execute($stmt))){
          $result = mysqli_stmt_get_result($stmt);
          while ($row = mysqli_fetch_array($result, MYSQLI_NUM))
            {
                foreach ($row as $r)
                {
                    $bookId = $r;
                }

            }
       }
      else{
            header("location: error.php");
      }
  }
  • 写回答

1条回答 默认 最新

  • dreamy1992 2018-08-30 09:13
    关注

    I think you are confused in between two functions mysqli_stmt_store_result and mysqli_stmt_get_result have to see this link in documentation.

    You have to use mysqli_stmt_get_result function.

    mysqli_stmt_get_result Documentation Link

    if((mysqli_stmt_execute($stmt))){
          mysqli_stmt_store_result($stmt);
      }
    

    Replace above code with

    if((mysqli_stmt_execute($stmt))){
         // mysqli_stmt_store_result($stmt); not to use
    
         $result = mysqli_stmt_get_result($stmt);
         $row = mysqli_fetch_array($result, MYSQLI_NUM);
         echo $row;  //as i dont have database details i hope this work.
    
      }
    

    See Example Two in documentation link for more certification.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求解达问题(有红包)
  • ¥15 请解包一个pak文件
  • ¥15 不同系统编译兼容问题
  • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
  • ¥30 数字电源对DSP芯片的具体要求
  • ¥20 antv g6 折线边如何变为钝角
  • ¥30 如何在Matlab或Python中 设置饼图的高度
  • ¥15 nginx中的CORS策略应该如何配置
  • ¥30 信号与系统实验:采样定理分析
  • ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao