我正在尝试从以下查询中创建一个mysql_fetch_array
$query = "SELECT q.QUESTION AS Question FROM ANSWERS a, QUESTIONS q WHERE a.ID_Question = q.ID"
$contents="whatever, ";
while($row = mysql_fetch_array($query))
{
$contents.=$row['Question'].", "; //what should I have here???
}
但是我对'点符号'有疑问我知道如果查询说'SELECT Pregunta'我会把$ row ['Pregunta']但是在这种情况下我应该放什么?我已经尝试过它,就像它在这里,但echo $ contents只是打印“无论如何”。
当然我正在建立所有数据库连接,我使用更简单的查询测试了所有这些,并且工作正常,如下所示:
$query = "SELECT ID FROM QUESTIONS WHERE ID_Usr=1";
$contents="whatever, ";
while($row = mysql_fetch_array($query))
{
$contents.=$row['ID'].", ";
}
谢谢!
答案 0 :(得分:1)
如果要按名称访问列,则必须使用mysql_fetch_assoc
而不是mysql_fetch_array
。
另外,你在任何地方执行$query
吗?您不能只在查询字符串上调用mysql_fetch_assoc
或mysql_fetch_array
。您需要先从数据库中获取结果。
然后,我们不再使用mysql_
函数,您应该使用mysqli
或PDO
。
答案 1 :(得分:1)
除了其他答案,还有其他缺陷:
$query = "SELECT q.QUESTION AS Question FROM ANSWERS a, QUESTIONS q WHERE a.ID_Question = q.ID"
$result = mysql_query($query);
$contents="whatever, ";
while($row = mysql_fetch_assoc($result ))
{
$contents.=$row['Question'].", "; //what should I have here???
}
注意mysql_query
,它会在$result
中为您提供结果集,然后可以通过mysql_fetch...
函数进行迭代。
答案 2 :(得分:1)
使用mysql_fetch_array时需要使用mysql_query。您的代码应如下所示
$query = mysql_query("SELECT ID FROM QUESTIONS WHERE ID_Usr=1");
$contents="whatever, ";
while($row = mysql_fetch_array($query))
{
$contents.=$row['ID'].", ";
}
希望这有助于你