【发布时间】:2014-12-23 12:48:32
【问题描述】:
正如标题所说,我正在尝试通过 jquery 验证插件检查 Patch_No 的值是否存在。我通读了许多其他类似的主题,这就是我计算代码的方式,但它似乎不起作用,尽管没有错误。 我很确定 DBconnection.php 可以工作,因此我在另一个文件中使用它来输入数据。
<?php
include 'DBconnection.php';
$patch = $_REQUEST['patch'];
$sql="SELECT * FROM champions WHERE Patch_No ='$patch'";
$conn->query($sql);
$num = mysql_num_rows($sql);
if($num>0){
echo 'false';
}
else{
echo 'true';
}
?>
这里也是jquery验证码
<script>
$(document).ready(function(){
$('#first_form').validate({
rules: {
patch: {
required: true,
minlength: 4,
remote: {
url: "checkpatch.php",
type: "post"
}
}
},
messages: {
patch: {
required: "Please enter patch version.",
remote: "This Patch already exists."
}
}
});
});
</script>
最后但并非最不重要的是 php 中的实际形式
echo '<form id="first_form" action="index.php" method="POST" style="border: 0; margin: 0;">';
echo '<input type="hidden" value="'.$formid.'" name="formid">';
echo '<input type="text" name="patch" placeholder="PATCH e.g. 4.20" required autofocus><br/>';
echo '<input placeholder="Number of Champions" value="1" type="number" name="champ_number" min="1" max="99" required><br/>';
echo '<input type="submit" value="next">';
echo '</form>';
编辑 DBconnection.php
<?php
$servername = "localhost";
$username = "root";
$password = "";
$db = "patches";
$conn = new mysqli($servername, $username, $password, $db);
if($conn->connect_error){
die("Connection failed: ". $conn->connect_error);
}
?>
【问题讨论】:
-
顺便说一句,您的代码不安全。请参阅 PHP 的 mysqli_/PDO API 和准备好的语句!
-
我现在正在学习 mysql 和 php,所以在我完成功能后,我将转向安全性
-
强烈建议你颠倒优先顺序!!
-
把代码改成
if($num>0){ echo json_encode(false); } else{ echo json_encode(true); },看看有没有区别。 -
您有一个
mysqli连接并使用mysql函数。把mysql函数改成mysqli兼容的。
标签: php jquery mysql validation