我正在编写一个PHP脚本,我需要运行MySQL查询。我打开了数据连接,所有这些快乐都很好。我唯一的疑问是关于以下查询的语法,因为它不起作用。我有一个php变量$ post_id,我从数据库中选择它。
$query1="SELECT needer FROM needer_blood WHERE value_id='$post_id'";
$result=mysql_query($query);
$req_id=$result[0];
答案 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,如果您的服务器支持,则应更新为MySQLi或PDO_MySQL。如果没有,请更改服务器。
另外,正如其他人指出的那样,你应该注意SQL注入。 This StackOverflow answer很好地解决了这个问题。