如何将sql查询中的值存储到变量中?

时间:2009-05-14 05:37:18

标签: php mysql

$resourcesbuilt = mysql_query("SELECT resourcesbuilt FROM user WHERE username = '$username' LIMIT 1");

if ($resourcesbuilt<=0 )
{
    mysql_query("INSERT INTO resources (username, dollars) VALUES ( '$username', '1000')") or die (mysql_error());
    mysql_query("UPDATE user SET resourcesbuilt = '1' WHERE username = '$username'");
}

基本上我在用户表中有一个列作为一个标志,告诉我是否为该特定用户创建了一个不同的表。如果没有则为0,如果有,则为1。但是,似乎我不能只将查询存储到变量中并检查它是否为0,因为查询中的实际值不存储在var中。当我回应var时,它只是说资源ID#3。我对php和SQL的研究让我失望了。有谁知道一种方法将结果从sql查询存储到php中的变量?或者至少可以指出我正确的方向?提前谢谢。

2 个答案:

答案 0 :(得分:2)

问题是mysql_query返回的结果不能以这种方式使用。相反,你必须打电话

$value = mysql_fetch_array($resourcesbuilt, MYSQL_ASSOC)
$value ["resourcesbuilt"]

这将为您提供表格中该字段的值。 请查看here示例。

答案 1 :(得分:0)

$ rs = mysql_query("UPDATE user SET resourcesbuilt = '1' WHERE username = '$username'");

会将结果存储到名为rs的记录集中 您可以通过调用

来检索值
$myrow = mysql_fetch_array($rs)

将整行放入名为myrow的数组中 并按$myrow[column_name]

检索其值 哦,另一个说明 据我记得你不能存储它们,因为它们不是选择语句 你将拥有的唯一资源是mysql_num_rows