Mysql查询中的变量

时间:2014-10-15 04:58:32

标签: php mysql sql

我正在编写一个PHP脚本,我需要运行MySQL查询。我打开了数据连接,所有这些快乐都很好。我唯一的疑问是关于以下查询的语法,因为它不起作用。我有一个php变量$ post_id,我从数据库中选择它。

$query1="SELECT needer FROM needer_blood WHERE value_id='$post_id'";

$result=mysql_query($query);

$req_id=$result[0];

3 个答案:

答案 0 :(得分:0)

您没有获取结果。

所以试试这个

<?php

$query1="SELECT needer FROM needer_blood WHERE value_id='$post_id'";

$result=mysql_query($query);

while($row=  mysql_fetch_array($result))
{
    echo $row['needer'];//You can display your result like this. 
}

此外,mysql被描述为学习Mysqli或PDO。

对于Mysqli功能,请检查此链接http://php.net/manual/en/book.mysqli.php

对于PDO功能,请检查此链接http://php.net/manual/en/book.pdo.php

答案 1 :(得分:0)

尝试这个,如果您使用SQL INJECTION

,则更好
<?php

$query1="SELECT needer FROM needer_blood WHERE value_id='".mysql_real_escape_string($post_id)."'";

$result=mysql_query($query) or die(mysql_error()); // die only used in development , remove when you live this

$data = mysql_fetch_array($result) or die(mysql_error());

echo $req_id = $data['needer']; // $req_id = $data[0];

?>

答案 2 :(得分:0)

首先,请注意您的查询变量名为$ query1,而您的mysql_query正在使用名为$ query的变量(变量不匹配?)。

您可以使用mysql_fetch_assoc()从查询中获取关联数组。

使用以下代码应该可行,但您应该进行一些检查以确保$ result [0]存在。

// Query String
$query1="SELECT needer FROM needer_blood WHERE value_id='$post_id'";
// Run the query
$result=mysql_query($query1) or die(mysql_error());
// Fetch Associative Array
$rows=mysql_fetch_assoc($result);
// Get result [0]: this could result in an error if your query result is empty.
$req_id=$rows[0];

此外,正如其他人所指出的那样,不推荐使用mysql,如果您的服务器支持,则应更新为MySQLiPDO_MySQL。如果没有,请更改服务器。

另外,正如其他人指出的那样,你应该注意SQL注入。 This StackOverflow answer很好地解决了这个问题。