-6

データベースから保存された値を選択し、それを一時変数に入れたいと思います。

たとえば、 という列があり、そのcategory下の値の 1 つがであるため、この値をデータベースから、たとえば というデータベースのテーブルからm選択したいとします。muser_info

次に、それを変数に入れたいので、名前を付けましょう$res

if $res=="m"その後 、、、

ここに簡単な構造を書くのを手伝ってくれる人はいますか?

コードは次のとおりです。

<?php   
$sql = "Select category FROM user_info WHERE user_name = '"
       .$_SESSION['username']."' and password = '".$_SESSION['password']."'";
$res = mysql_query($sql);

if($res == "a"){
  include('MPIncomeStrategy.php');
}

if($res == "b"){
  include('MPIncomeStrategy.php');
}

しかし、コードは を検出できないよう$res =="category value in database"です。カテゴリ値の保存方法が間違っていたのでしょうか?

4

1 に答える 1

1

まず第一に、それはあなたの質問に答えるのに役立たないかもしれませんが、あなたはmysql_*関数の使用をやめるべきです。それらは非推奨になっています。代わりに、PDO(PHP 5.1以降でサポート)またはmysqli(PHP 4.1以降でサポート)を使用してください。どちらを使用すればよいかわからない場合は、この記事をお読みください

次に、mysql_*関数を使用するためのドキュメントを見てください。コードで$resは、はリソースであり、値の配列ではありません。からデータを抽出するには、または$resを呼び出す必要があります。どちらも配列を返します(番号付きインデックスと連想インデックスの組み合わせを返します。連想配列のみを返します)。mysql_fetch_array()mysql_fetch_assoc()mysql_fetch_array()mysql_fetch_assoc()

配列を取得したら、インデックスにアクセスできます。

このような:

$res = mysql_query($sql);

if /* or while */ ($row = mysql_fetch_assoc($res)) {
    $category = $row['category'];

    if ($category == "m") { ... }
}
于 2012-08-30T18:35:55.377 に答える