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 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。