在php中使用mysql查询输出作为变量

时间:2012-12-03 09:55:08

标签: php mysql sql web lamp

我正在尝试使用SQL查询的输出(在这种情况下,输出将类似于26“http://www.google.com”

我想在php的进程中使用id和地址,但似乎无法对查询的输出做任何事情而不是回显它。

最终如果我最终可以使用$ id和$ pos作为我可以使用的变量,这将是很棒的。

<?php
$con = mysql_connect("localhost","root","root");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("movieCol", $con);
$query = "SELECT * FROM `movie_collection` ORDER BY `id` DESC LIMIT 1";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());
echo $row['id']. " ". $row['poster'];
mysql_close($con);
?>

3 个答案:

答案 0 :(得分:0)

如果您想将它们作为单独的变量,那么:

$query = "SELECT id, poster FROM `movie_collection` ORDER BY `id` DESC LIMIT 1";

...

list($id, $pos) = mysql_fetch_row($result);

echo $id. " ". $pos;

虽然在功能上这不会比使用你已经拥有的数组元素有任何或更少的好处。

您还可以使用extract()使用数组元素填充单个变量:

$row = mysql_fetch_array($result) or die(mysql_error());
extract($row);
echo $id. " ". $pos . " " . $director; // access all variables

不推荐使用提取,但使用数组元素确实没有任何好处。

答案 1 :(得分:0)

只需将值分配给变量: $id=$row['id'];$pos=$row['poster'];

现在,您可以在任何地方使用变量$ id和$ pos。

我希望这就是你想要的。

答案 2 :(得分:0)

你想要这样的东西吗?

<?php
$con = mysql_connect("localhost","root","root");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("movieCol", $con);
$query = "SELECT * FROM `movie_collection` ORDER BY `id` DESC LIMIT 1";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result) or die(mysql_error());

$whatYouWant = $row['id']. " ". $row['poster'];

mysql_close($con);
?><html>
<head><title><?=$whatYouWant?></title></head>
<body><h1><?=$whatYouWant?></h1></body></html>

当然,关于不推荐使用mysql_ *的所有警告仍然有效。如果您的SQL包含来自PHP脚本之外的任何内容,它们就会变得有风险,例如:

永远不要这样做:

$value=$_REQUEST['item_id'];
$query = "SELECT * FROM `movie_collection` WHERE `id`=$value DESC LIMIT 1";

考虑PDO或mysqli等...正如其他人所建议的那样(或者至少记得每次都正确地过滤$ value)。