0

MySQL を使用してテーブルからデータを取得していますが、例外が表示されます。これが私が使用しているコードです。テストする URL を使用してこれを呼び出しています。

    $userName=mysql_real_escape_string($_GET['userName']);
    $query = mysql_query("SELECT * FROM UserCredentials where UserName='$userName' ");

http://celeritas-solutions.com/pah_brd_v1/productivo/getUserData.php?userName=jamshaid.ali

ここに例外があります

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/content/i/h/u/ihus235/html/cs/pah_brd_v1/productivo/getUserData.php on line 74 []

ここに完全なコードがあります

   $userName=mysql_real_escape_string($_GET['userName']);

   $query = mysql_query("SELECT * FROM UserCredentials Where UserName='$userName' ");


    $rows = array();
    while($row = mysql_fetch_assoc($query)) {
    $rows[] = $row;
    }
    echo json_encode($rows);
     ?>    
4

2 に答える 2

0

いくつかの提案 -

isset()-- のように使用します。

if(isset($_GET['userName'])) {
// Do the processing, most appropriate check whether form is submitted or not
}

これで、コードは次のようになります-

// データをサナタイズし、SQL インジェクションからコードを保護します (PDO または mysqli_ を優先)

   if(isset($_GET['userName'])) {

   $userName=mysql_real_escape_string($_GET['userName']);
   $sql = "SELECT * FROM UserCredentials Where UserName='".$userName."'";
   $query = mysql_query($sql, $conn) or die(mysql_error());

    $rows = array();
    while($row = mysql_fetch_assoc($query)) {
    $rows[] = $row;
    }
    echo json_encode($rows);

   }
 ?>    

エコー$sql;して実行しphpmyadmin、クエリが正しく形成されているかどうかを確認し、var_dump() を使用してエラー/警告/通知を読み取り、エラーを追跡します。

于 2013-06-21T10:03:46.153 に答える
0
$query = sprintf("SELECT * FROM UserCredentials where UserName='%s'",mysql_real_escape_string($_GET['userName']));
$result = mysql_query($query);
if(result){
   //do you code
}
于 2013-06-21T09:53:50.680 に答える