0

だから私はこれまでこれを持っています..

if(isset($_POST['Decrypt']))
{
    $dbinary = strtoupper($_POST['user2']);
    $sqlvalue = "SELECT `value` FROM `license` WHERE `binary` = '$dbinary'";
    $dvalue = mysql_query($sqlvalue) or die(mysql_error());
}

ユーザーが暗号化されたバイナリ コードを入力するフィールドがあります。(暗号化部分は機能します)。これは、データベースから値を取得することになっています。これを行うと、値が表示される代わりに、「Resource id #11」と表示されます。

4

3 に答える 3

2

あなたの引用に間違いはありません。実際、これまでのところすべてが正しいように見えます。

問題は、現在、$dvalue は SQL データベースの単なるリソースです。もう 1 行で内容を取得する必要があります。

$dvalue = mysql_fetch_array($dvalue);

将来的には、mysql 関数の代わりに PDO または MySQLi の使用を開始することをお勧めします。これらは 5.5.0 で非推奨になったためです。PDO と MySQLi の利点は、SQL インジェクション (ユーザーがx'; DROP TABLE members; --.

于 2013-08-31T19:01:16.607 に答える
0

mysql_関数はもう使用しないでください。それらは非推奨です。代わりにPDOまたはMySQLiを使用してください。

そうは言っても、クエリを実行しているだけで、結果を取得していません。mysqli_fetch_array返されるリソース ID からデータを取得するような関数を呼び出す必要がありますmysqli_query

私のアドバイスは、チュートリアルとドキュメントに戻って、これらの他の拡張機能のいずれかで再試行することです. 幸運を。

于 2013-08-31T19:03:44.200 に答える
-1

このページを読んでください: MySQL select useage の W3 Schools ページ。基本的に $dvalue は結果セット ID であり、別の手順で実際にデータベースから配列を取得する必要があります。また、mysql_* 関数は非推奨です。代わりに mysqli_* 関数を検索して使用してください。

while($row = mysqli_fetch_array($dvalue))
{
  echo $row['value'];
  echo "<br>";
}
于 2013-08-31T19:03:07.330 に答える