我想从数据库中选择一个存储值,然后将其放入一个临时变量中。
例如,我有一个名为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"
。我只是用错误的方法来存储类别值吗?
答案 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") { ... }
}