经过大量编码和错误调试'我仍然在PHP&中得到这3种错误我真的不知道为什么!这是我的文档的完整代码,它是关于一个简单的评论系统:
<?php
if(isset($_POST) && array_key_exists('submit',$_POST)){
$name = $_POST['name'];
$email = $_POST['email'];
$comment = $_POST['comment'];
if (empty($name)){
$err['name1'] = "<p style='color:red;font-family: BCompset, Arial, Helvetica, sans-serif;font-size:30px;float:right;'>Enter your name</p>";
}else{
$name_length = strlen($name);
if ($name_length > 2 ){
if (!empty($email)){
$email_verification = test_input($email);
if (!filter_var($email_verification, FILTER_VALIDATE_EMAIL)) {
$err['email1'] = "<p style='color:red;font-family: BCompset, Arial, Helvetica, sans-serif;font-size:25px;float:right;'>Write your email correctly!</p>";
}else{
if (empty($comment)){
$err['comment1'] = "<p style='color:red;font-family: BCompset, Arial, Helvetica, sans-serif;font-size:25px;float:right;'>Write your comment down</p>";
}else{
$comment_length = strlen($comment);
if (($comment_length < 5) || ($comment_length > 100)){
$err['comment2'] = "<p style='color:red;font-family: BCompset, Arial, Helvetica, sans-serif;font-size:25px;float:right;'>Your comment should be between 5 to 100 characters</p>";
}else{
$que = $con->query("SELECT * FROM product_comments WHERE productcode='%s'", $_SESSION['pro_id']);
if(mysqli_num_rows($que) == 0){
$insert_id2 = "insert into product_comments (productcode) values ('".$_SESSION['pro_id']."')";
$insert_id2 = mysqli_query($con, $insert_id2);
}
}
}
}
}else{
$err['email2'] = "<p style='color:red;font-family: BCompset, Arial, Helvetica, sans-serif;font-size:25px;float:right;'>Write your email down</p>";
}
}else{
$err['name2'] = "<p style='color:red;font-family: BCompset, Arial, Helvetica, sans-serif;font-size:30px;float:right;'>Your name must be more than 2 words!</p>";
}
}
//check errors
if(count($err) == 0)
{
$insert_comment = "insert into product_comments (email,name,comment,modified_date, modified_time) values ('$email_verification','$name','$comment',CURDATE(), CURTIME())";
$insert_comment = mysqli_query($con, $insert_comment);
$succ = "<p style='color:green;font-family: BCompset, Arial, Helvetica, sans-serif;font-size:30px;float:right;'>Your comment will be saved</p></script>";
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<form action='' method='POST'>
<span>
<input type='text' name='name' placeholder='Your Name'/>
<input type='email' name='email' placeholder='Email Address'/>
</span>
<textarea name='comment' placeholder='Comment'></textarea>
<input name='submit' style='font-family: BJadidBold, Arial, Helvetica, sans-serif;' type='submit' value='Submit' class='btn btn-default pull-right'></input>
<p><?php if(isset($err['name1'])) echo $err['name1']; ?></p>
<p><?php if(isset($err['name2'])) echo $err['name2']; ?></p>
<p><?php if(isset($err['email1'])) echo $err['email1']; ?></p>
<p><?php if(isset($err['email2'])) echo $err['email2']; ?></p>
<p><?php if(isset($err['comment1'])) echo $err['comment1']; ?></p>
<p><?php if(isset($err['comment2'])) echo $err['comment2']; ?></p>
<p><?php if(isset($succ)) echo $succ; ?></p>
</form>
当我提交具有正确信息的表单时,我得到了这三个错误,但是用于确定将数据插入数据库的 $ succ 变量将会出现但是没有数据存储在分贝...
以下是错误:
警告:mysqli :: query():第24行的resultmode值无效
这是第24行:
$que = $con->query("SELECT * FROM product_comments WHERE productcode='%s'", $_SESSION['pro_id']);
警告:mysqli_num_rows()要求参数1为mysqli_result,第25行给出布尔值
这是第25行:
if(mysqli_num_rows($que) == 0){
注意:未定义的变量:第41行的错误
这是第41行:
if(count($err) == 0)
我不知道这里发生了什么,所以如果你可以帮我解决这个问题。解释为什么会发生这些错误会很棒。