-6

我想从数据库中选择一个存储值,然后将其放入一个临时变量中。

例如,我有一个名为 的列category,它下面的一个值是m,所以我想m从数据库中选择这个值,比如说从一个名为 的数据库的表中选择user_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()or 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 回答