2017-02-26 12 views
-1

現在このプロジェクトを行っています。 certificateNumberが数値の場合、このコードを使用してデータベースからデータを取得できますが、certificateNumberフィールドに英数字データがある場合は人を検索しません。アルファ数値xはPHPで取得できません

どこが間違っていますか?

<?php 
$flag = 0; 
$reg=$_REQUEST["cerf"]; 
echo ($reg); 
$con = mysqli_connect('localhost','neoncom_db','12345','neoncom_std'); 
$qur = 'select * from student where certificateNumber = '.$reg; 
$check = mysqli_query($con,$qur); 
while($row=mysqli_fetch_array($check)) 
{ 
    if($reg==$row["certificateNumber"]) 
    { 
    $flag++; 
    $first = $row["first"]; 
    $last=$row["last"]; 
    $num = $row["certificateNumber"]; 
    $name = $first ." ".$last; 
    $course = $row["course"]; 
    $date = $row["signupDate"]; 
    echo($row["certificateNumber"]); 
    echo($row["first"]); 
    echo($row["last"]); 
    } 
    } 

if(count==0) 
{ 
echo("NOT FOUND"); 
} 
?> 

答えて

0

あなたが引用符で$regをカプセル化する必要があります。だからあなたのクエリ文字列$qurは次のようにする必要があります:

$qur = "select * from student where certificateNumber = '" . $reg . "'"; 

追記:学習についてprepared statement今すぐあなたのクエリがSQLインジェクション攻撃を受けやすいので。また、how you can prevent SQL injection in PHPを参照してください。

関連する問題