对于这个愚蠢的问题感到抱歉,但我看不出/不够好解决这个问题:
我有一个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),但它不会在屏幕上显示。
任何帮助都将不胜感激 - 请说我也很愚蠢:)
更新
谢谢大家!!!!!!!帮助了我很多。我为我的代码提供了最佳解决方案,但所有回复都是正确的。再次感谢跳,这将有助于一些人和我一样初学者:)再次感谢你答案 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
文档: