正如标题所示,如果Patch_No的值存在,我正试图通过jquery验证插件进行检查。我阅读了许多其他类似的主题,这就是我如何计算代码,但它似乎没有工作,虽然没有错误。 我很确定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);
}
?>
答案 0 :(得分:1)
尝试这样:
$sql="SELECT * FROM champions WHERE Patch_No ='".$patch."'";
$result = $conn->query($sql);
$num = $result->num_rows;
答案 1 :(得分:0)
这些线路非常糟糕。您想要获取字符串...使用此:
$sql="SELECT * FROM champions WHERE Patch_No ='$patch'";
$conn->query($sql);
$num = mysql_num_rows($conn);
您需要提取$conn
,即资源,而不是$sql
。
备注强>
不要使用mysql函数,不推荐使用它们。
通过在查询中转义变量或使用预准备语句来避免sql注入。