PHP:如何从MYSQL获取信息,使其成为一个变量,并将其放置在链接中

问题描述:

这是我的代码 - 不知道问题是什么?PHP:如何从MYSQL获取信息,使其成为一个变量,并将其放置在链接中

// Make the query: 
$query = "SELECT template FROM pages_meta WHERE user_id=$id"; 

// RUN THE QUERY 
$result = @mysqli_query ($dbc, $q); 

$url = 'template'; 

echo "<link href=\"$url\" type=\"text/css\" rel=\"stylesheet\" />"; 
+1

问题是$ url是一个字符串,与您的$结果无关。 – 2010-11-23 15:08:22

+1

请首先搜索,例如:http://stackoverflow.com/questions/2590680/how-to-list-records-for-a-query-and-to-display-no-records-when-no-rows-返回 – Jakub 2010-11-23 15:10:03

+1

还有一个有用的网站,名为php.net http://php.net/manual/en/function.mysql-result.php – 2010-11-23 15:11:15

是的,正如Jakub所说,您需要从Mysql获取数据并将其分配给$ url。

做这样的事情:

$query = "SELECT template FROM pages_meta WHERE user_id=$id"; 

if ($result = $mysqli->query($query)) { 

    /* fetch associative array */ 
    while ($row = $result->fetch_assoc()) { 
     echo '<link href="'. $row['template'] . '" type="text/css" rel="stylesheet" />'; 
    } 

    /* free result set */ 
    $result->close(); 
} 

更多:http://www.php.net/manual/en/mysqli-result.fetch-assoc.php

其实也有几个问题。

您设置变量$query,但在mysqli_query()中使用$q。顺便说一句,你不应该使用@,而是实现某种错误处理。

此外,您将url设置为字符串值,这意味着它将只具有值template。我相信你应该把它设置为像$result[0]->template,虽然我不完全确定。尝试在代码中放入以下代码并发布它写出的内容。

var_dump($result);