从数据库中选择值并存储到临时变量中

时间:2012-08-30 18:18:51

标签: php mysql

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

例如,我有一个名为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"。我只是用错误的方法来存储类别值吗?

1 个答案:

答案 0 :(得分:1)

首先,它可能无法回答您的问题,但您应该停止使用mysql_*功能。他们被弃用了。而是使用PDO(从PHP 5.1开始支持)或mysqli(从PHP 4.1开始支持)。如果您不确定使用哪一个,read this article

其次,请查看使用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") { ... }
}