0

我不知道为什么我会收到这个错误,我只使用一列和一个值对其进行了测试,它仍然显示它,这是我的代码:

if($insert_company = mysqli_prepare($mysqli, "INSERT INTO company(company_name) VALUES(?)")){
   mysqli_stmt_bind_param($insert_company , 's', $company_name);
  mysqli_stmt_execute($insert_company );

  if(mysqli_stmt_error($insert_company )) {
    printf('Error2: %s<br>File: %s<br>Line: %s', mysqli_stmt_error($insert_company ), basename(__FILE__), __LINE__);
    mysqli_stmt_close($insert_company );
    mysqli_close($mysqli);
    exit;
  } else {
    mysqli_stmt_close($insert_company );
    mysqli_close($mysqli);
    echo "<script>alert('Okay');</script>";
  }
} else {
  printf('Error: %s<br>File: %s<br>Line: %s', mysqli_error($mysqli), basename(__FILE__), __LINE__);
  mysqli_close($mysqli);
  exit;
}

它只发生在 php 中,因为当我通过 mysql 命令使用它时,它可以工作......

4

2 回答 2

0

你在哪里将值传递给'company_name'。你的代码应该是这样的:

$insert_company = mysqli_prepare($mysqli, "INSERT INTO company(company_name) VALUES(?)");
$insert_company->bind_param("s", "The company name");
$insert_company->execute();
于 2013-08-28T19:22:53.557 回答
0

问题是您在 if(check condition) 中有查询,它总是返回 false,因为它还没有绑定值并且查询失败,为查询分配一个变量,之后,您可以检查结果:

$insert_company = mysqli_prepare($mysqli, "INSERT INTO company(company_name) VALUES(?)")
mysqli_stmt_bind_param($insert_company , 's', $company_name);
mysqli_stmt_execute($insert_company )

现在 if()

 if($insert_company){
  //do whatever
 }else{
 //do not whatever
 }
于 2013-08-28T19:41:55.593 回答