微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php bind_param in prepeared statments 使程序停止,没有错误或警告

如何解决php bind_param in prepeared statments 使程序停止,没有错误或警告

我编写了这个准备好的语句来将数据从 PHP 发送到我的本地主机

         $stmt = $conn->prepare("INSERT INTO info VALUES (?,?,?)");
          if ( false===$stmt ) {echo '<script type="text/javascript">alert("false prepeared statment '.htmlspecialchars($conn->error).'");</script>';}
         try{
         $rc = $stmt->bind_param("ssssssssssssssssssss",'f','$name1','$name2','$name3','$lastname','$mother','$bornplace','$phone','$empTitle','$school','$lastDegree','$lastSpeciality','$lastUniversity','$lastCollege','$subject','$nextSpeciality','$nextSubSpeciality','$nextDepartment','$nextCollege','$nextUniversity');
         }catch(Exception  $er){
             echo('err: '.$er->getMessage());
         }

          $rc = $stmt->execute();
          if ( false===$rc ) {echo '<script type="text/javascript">alert("false excute '.htmlspecialchars($stmt->error).'");</script>';}
          $stmt->close();
          $conn->close();

当我运行程序时,当它到达 bind_param 行时执行“冻结”,没有错误消息或警告。当我评论 bind_param 行时,程序执行不会“冻结”并继续下一行,并给我错误消息“没有为准备好的语句中的参数提供数据”。 请注意,我将变量名称(在 bind_param 中)设为字符串,以确保问题不在变量的值中。而且 try catch 语句也不起作用。 此外,当我在(准备)行中输入一些错误时,它会向我显示错误。但是当我在 (bind_param) 行中输入错误时,它会一直冻结! 请注意 localhost 正常显示所有行中的所有错误。但是当涉及到这个 bind_param 时,它并没有按预期工作。我尝试了一个包含 3 个变量的不同表,没有问题!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。