带点符号的mysql_fetch_array

时间:2014-08-17 02:10:16

标签: php sql

我正在尝试从以下查询中创建一个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'].", ";
    }

谢谢!

3 个答案:

答案 0 :(得分:1)

如果要按名称访问列,则必须使用mysql_fetch_assoc而不是mysql_fetch_array

另外,你在任何地方执行$query吗?您不能只在查询字符串上调用mysql_fetch_assocmysql_fetch_array。您需要先从数据库中获取结果。

然后,我们不再使用mysql_函数,您应该使用mysqliPDO

答案 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'].", ";
    }

希望这有助于你