mysql php:如何将结果与相同的重复变量绑定

时间:2015-10-02 10:40:18

标签: php mysql mysqli

我正在尝试绑定一个重复变量。我想要实现的是:

  1. 提交前检查
  2. 如果这两个一起存在,请检查“消息”和“用户”列。如果是,那么
  3. 或检查是否只有“用户”(特定用户)。
  4. 正如您所见,我将变量'user'绑定两次。
  5. 如果第2项或第3项为真,则$ search_data-> fetch()将大于零并且将回显错误并阻止提交
  6.   

    问题:

    1. 问题是我遇到了Number of bind variables doesn't match number of fields in prepared statement
    2. 的错误
    3. 如果我删除bind_result它可以工作,但我想知道会有什么影响?建议和帮助非常感谢
    4. 注意: 我在bind_param中使用$ username_form两次

      以下是我的代码:

      $search_data=$db->prepare("SELECT message,user FROM test_table_1 WHERE (message=? AND user=?) OR (user=?)");
          $search_data->bind_param("sss", $message_form, $username_form, $username_form);
      
          $search_data->execute();
          $search_data->bind_result($result1,$result2,$result3);
          if($search_data->fetch() >0){
              //echo "<script>alert('Entry already exist')</script>";
              $search_data->close();
              echo 'Error_duplicate';
          }
          else {
              $insert_data=$db->prepare("INSERT INTO test_table_1(message,user) VALUES (?, ?)");
      
              $insert_data->bind_param("ss", $message_form, $username_form);
              $insert_data->execute();
      
      
              if ($insert_data->affected_rows >0){
                  echo "New record created successfully";
      
              } else {
                  echo "Not inserted";
                }
              $search_data->close();
              $insert_data->close(); //close prepare statement
      
      
          }
          $db->close();
      
        

      UPDATE1:   我知道一个类似的线程link但是,正如我已经说过上面的问题,我已经尝试将它绑定到三个变量,但它不起作用。我希望得到一些建议。

0 个答案:

没有答案