php mysql单曲记显示

时间:2012-07-03 10:40:02

标签: php mysql

对于这个愚蠢的问题感到抱歉,但我看不出/不够好解决这个问题:

我有一个MYSQL数据库和一个PHP表单一切正常但我不能只输出一条记录 - 可能是语法错误:

    $SQL = "SELECT * FROM massfelh WHERE user = $uname AND pass = md5($pword)"; - this is working
    $result = mysql_query($SQL); - this is too
    $catg = $result['categ']; - help
    $num_rows = mysql_num_rows($result); - this is ok too
    echo $catg; - for test and I can't print it on screen

数据库结构:id,user,pass,categ

我只需要分类(1或0),但它不会在屏幕上显示。

任何帮助都将不胜感激 - 请说我也很愚蠢:)

更新

谢谢大家!!!!!!!帮助了我很多。我为我的代码提供了最佳解决方案,但所有回复都是正确的。再次感谢跳,这将有助于一些人和我一样初学者:)再次感谢你

8 个答案:

答案 0 :(得分:5)

试试这个..

$SQL = "SELECT * FROM massfelh WHERE user = $uname AND pass = md5($pword)"; 
    $result = mysql_query($SQL);
    $result = mysql_fetch_assoc($result);
    $catg = $result['categ'];
    $num_rows = mysql_num_rows($result); 
    echo $catg;

答案 1 :(得分:1)

如果您只想要一行,

在您的选择中添加LIMIT 1是一种很好的做法。

如果您只想选择 categ ,则只选择它SELECT categ FROM...。 然后你可以使用$catg = mysql_result($result, 0); http://php.net/manual/de/function.mysql-result.php

答案 2 :(得分:0)

$result = mysql_query($SQL); - this is too
$catg   = mysql_fetch_assoc($result);
print_r($catg);

mysql_query返回资源。要获取数据,您必须使用以下某些功能: - mysql_fetch_row(将结果作为数值数组返回) - mysql_fetch_assoc(将结果作为assoc数组返回 - 数组的键是db表中的字段名) - mysql_fetch_array(如果你没有传递第二个参数,则返回数字和关联结果)

但如果您使用了Mysqli扩展或PDO_Mysql

,那会更好

答案 3 :(得分:0)

如果您只需要'categ',请选择它。在$ result上也使用var_dump。

SELECT categ FROM massfelh WHERE user = $uname AND pass = md5($pword)

答案 4 :(得分:0)

目前你在执行查询后没有使用任何php函数来放弃。

$result = mysql_query($SQL);
$res   = mysql_fetch_assoc($result);
echo $res['columnName'];

答案 5 :(得分:0)

$SQL = "SELECT * FROM massfelh WHERE user = $uname AND pass = md5($pword)";
$result = mysql_query($SQL);
$num_rows = mysql_num_rows($result);
$catg   = mysql_fetch_assoc($result);

echo $num_rows.' rows matched';
echo '<pre>';
print_r($catg);
echo '</pre>';

答案 6 :(得分:0)

你错过了mysql_fetch_assoc。它应该是

$SQL = "SELECT * FROM massfelh WHERE user = $uname AND pass = md5($pword)";
$query = mysql_query($SQL);
$result = mysql_fetch_assoc($query);
$catg = $result['categ'];
$num_rows = mysql_num_rows($result);
echo $catg;

当然,查询也可以是SELECT categ FROM massfelh WHERE user = $uname AND pass = md5($pword)

答案 7 :(得分:0)

mysql_query返回结果资源,您需要将其传递给fetch函数才能访问返回的数据。例如:

$query = mysql_query($SQL);
$result = mysql_fetch_assoc($query);
$catg = $result['categ'];

不鼓励使用mysql_扩展名,并且社区已开始弃用过程,您应该阅读mysql_query文档:

http://php.net/manual/en/function.mysql-query.php