2014-12-23 1 views
0

제목에 Patch_No의 값이있는 경우 jquery 유효성 검사 플러그인을 통해 확인하려고한다는 메시지가 표시됩니다. 다른 많은 비슷한 주제를 읽었는데 그 코드를 어떻게 생각했는지는 알지만 오류가 없더라도 작동하지 않는 것 같습니다. DBconnection.php가 작동하므로 데이터를 입력하기 위해 다른 파일에서이 파일을 사용하고 있습니다.데이터베이스에 값이 존재하는지 Jquery 유효성 확인

다음
<?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'; 
} 
?> 

는 PHP에서 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> 

그리고 마지막으로 실제 형태이다

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

BTW, 코드가 안전하지 않습니다. PHP의 mysqli_/PDO API와 prepared statement를 참조하십시오! – Strawberry

+0

저는 지금 MySQL과 PHP를 배우고 있습니다. 기능이 끝나면 보안으로 이동할 것입니다. – Higeath

+0

강력하게 우선 순위를 바꾸라고 제안합니다 !! – Strawberry

답변

0

이 같은 시도 :

$sql="SELECT * FROM champions WHERE Patch_No ='".$patch."'"; 
$result = $conn->query($sql); 
$num = $result->num_rows; 
+0

그것은 당신이 나에게 설명해 줄 수있는 이유가 무엇인가? – Higeath

+0

당신이 저에게 알려주지 않는다하더라도 이것을 읽으십시오 : http : //php.net/manual/en/mysqli-result.num-rows.php. –

+0

을 사용하고 mysql을 사용하지 마십시오. PDO 또는 mysqli는 mysql이 더 이상 사용되지 않으므로 error_reporting()을 활성화하면 경고 메시지가 표시됩니다. –

0

이 줄은별로 좋지 않습니다. 당신은 문자열을 가져 싶어 ...이 사용

$sql="SELECT * FROM champions WHERE Patch_No ='$patch'"; 
$conn->query($sql); 
$num = mysql_num_rows($conn); 

당신은 당신의 $conn를 가져올 필요가, 그 자원이 아닌 $sql입니다. MySQL의 기능을 사용하지 마십시오

참고

  • , 그들은 더 이상 사용되지 않습니다.

  • 쿼리에서 변수를 이스케이프 처리하거나 준비된 문을 사용하여 SQL 주입을 피하십시오.

+0

을 운 mysqli_num_rows없고, 보여주기 위해 변경 한 http://www.w3schools.com/php/func_mysqli_num_rows.asp 'DBconnection.php' – Higeath

+0

편집 질문을 발생하지 코네티컷 주 $에 소스를 변경 여전히 – vaso123

관련 문제