使用mysql和php显示ID匹配的数据库中的单个结果

时间:2014-02-13 15:12:41

标签: php mysql

我在根据ID号显示数据库中的单个字段时遇到了一些问题。

如果ID匹配,我想尝试显示“C_Type_of_Referral”。我确信代码是一堆垃圾,但我仍处于学习如何在mysql和php中做事的非常早期阶段。

$query = "SELECT C_Type_of_Referral FROM Ctable WHERE C_ID = '70'";
$result = mysql_query($query) or die('Error : ' . mysql_error());
list($C_Type_of_Referral) = mysql_fetch_array($result);

然后我尝试使用以下代码显示结果:

echo ((isset ($_POST['C_Type_of_Referral']) && $_POST['C_Type_of_Referral'] == 'AS') || ($C_Type_of_Referral == 'AS'));

上面的代码返回值1。

echo ($_POST['C_Type_of_Referral']);

上面的代码没有返回任何内容。

我哪里错了?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

让我先说一下:使用 mysqli 而不是mysql,特别是在你开始时。 Mysql正在过时,所以从正确的开始:)

$query = "SELECT C_Type_of_Referral FROM Ctable WHERE C_ID = 70 LIMIT 1";
$result = mysql_query($query) or die('Error : ' . mysql_error());
$fetch = mysql_fetch_assoc($result);
echo $fetch['C_Type_of_Referral']; // <- this is what you are looking for

if( $fetch['C_Type_of_Referral']=='AS'){ echo 'AdServices'; }
elseif( $fetch['C_Type_of_Referral']=='VS'){ echo 'VisServices'; }
else{ echo 'Nothing of the kind'; }

我做过的事情:
- 删除了引号ar 70。整数不应该使用引号 - 添加了“限制1”。从长远来看,这将加快速度。如果您想要1行,请使用限制1
- 将fetch_array更改为fetch_assoc(你必须自己找出原因;)

小注意:将表和列名保持为小写,某些系统在使用大写字符时可能会给您带来麻烦