MySQL总是返回Error

时间:2016-10-17 11:22:23

标签: php mysql if-statement

我检查了最大字母数。如果第一次检查不正确,则其工作正常。但是如果我有200个字符或更多的插入,它总是返回Message cant have more than 200 characters.即使在测试返回错误后有10个字符。无法看清我做错了什么。

<?php
$stripped = mysql_real_escape_string($_GET['id']);
$id = mysql_real_escape_string($_GET['id']);
$message = mysql_real_escape_string($_POST['message']);
$aktiv = mysql_real_escape_string($_POST['aktiv']);

if (isset($_POST['sendmsg'])) {
  if ($_POST['message'] < 200) {        
    echo "Message can't be more than 200 characters";
  } else {
    $result = mysql_query("UPDATE cms_prosjekt SET message = '$message',  active_msg = '$aktiv' WHERE id = $stripped;");

    header('Location: Location: /index.php?url=projectedit&id='.$stripped.'&code='.$id.'');
    exit;
  }
}
?>

2 个答案:

答案 0 :(得分:4)

这不是mysql错误,而是你的php验证错误

1)超过200个>200而非<200

2)您需要检查文本的长度而不是文本

if (strlen($_POST['message']) > 200)
{       

     echo "Message can't be more than 200 characters";

}

答案 1 :(得分:2)

问题出在($_POST['message'] < 200),你应该(strlen($_POST['message']) > 200)

至少这是消息长于200时显示的消息。