2017-08-15 8 views
2

私は値が存在するかどうかを確認するためにデータベースをチェックするためにPHPを使用しようとしています。私の主な目標は、値のSQLデータベースを確認する

$_GET['UDID'] 

この値を使用することであり、それはデータベース内にある任意の値に等しい場合、それは私がこのコードを使用しています

echo 'FOUND'; 

返します。

<?php 

$servername = "*****"; 
$username = "*****"; 
$password = "*****"; 
$dbname = "*****"; 
$connect = new mysqli($servername, $username, $password, $dbname); 
if ($connect->connect_error) { 
    die("CONNECTION FAILED: " . $connect->connect_error); 
} 

$udid = $_GET['UDID']; 
$id = mysqli_real_escape_string($connect, $udid); 

$result = mysqli_query($connect, "SELECT udid FROM data WHERE udid = '$id'"); 

if($result === FALSE) { 
    die("ERROR: " . mysqli_error($result)); 
} 
else { 
    while ($row = mysqli_fetch_array($result)) { 
      if($row['udid'] == $udid) { 
       $results = 'Your device is already registered on our servers.'; 
       $results2 = 'Please click the install button below.'; 
       $button = 'Install'; 
       $buttonlink = 'https://**link here**'; 
      } 
      else { 
       $results = 'Your device is not registered on our servers'; 
       $results2 = 'Please click the request access button below.'; 
       $button = 'Request Access'; 
       $buttonlink = 'https://**link here**'; 
      } 
    } 
} 

?> 

しかし何らかの理由でそれが機能していない、私は何かを探していると確信しています。あなたの助けが大いに評価されます。

答えて

4

はこのお試しください:

$sql = mysqli_query($connect, "SELECT udid FROM data WHERE udid = '" .$udid. "'"); 

もが、$ UDIDに 'GET' の値を設定してください。

$udid = $_GET['UDID']; 

代わりに、結果行を取得するためにmysqli_fetch_array()を使用することができます。エラー処理も含まれています。今、あなたのコードは次のようになります。

$udid = $_GET['UDID']; 
$id = mysqli_real_escape_string($connect, $udid); 

$result = mysqli_query($connect, "SELECT `udid` FROM `wmaystec_WMT-SS`.`data` = '$id'"); 

if($result === FALSE) { 
    die(mysqli_error("error message for the user")); //error handling 
} 
else { 
    while ($row = mysqli_fetch_array($result)) { 
      echo "FOUND :" .$row['thefieldnameofUDIDfromyourDB']; 
    } 
} 
+0

$ udid = mysqli_real_escape_string($ connect、$ _ GET ['UDID']); –

+0

@Jixone OK ....上記のコードは動作していますが、今は存在するかどうか、何かしているかどうかを確認する必要があります。質問コードを更新しました。 –

+0

@WillMays私のコードは正しい結果を示しましたか? – Jixone

0

私はあなたが最初mysqli_real_escape_string機能を使って、文字列をエスケープすることをお勧めして、SQLクエリを呼び出します。

$udid = mysqli_real_escape_string($connect, $udid); 
$sql = mysqli_query($connect, "SELECT udid FROM data WHERE udid = '$udid'"); 
関連する問題