我正试图让我的功能起作用,过了一会儿我把键盘摔下来然后一切正常,我注意到了:
{
function get_people_fullname($db, $people_id) {
$query = 'SELECT
people_fullname
FROM
people
WHERE
people_id = '.$people_id;
$result = mysql_query($query, $db) or die(mysql_error($db));
$row = mysql_fetch_assoc($result);
return $row['people_fullname'];}
}
查询的位置
people_id = '.$people_id;
哪个有效
I originally had
people_id = $people_id';
哪个不起作用
我只是迷失了,我认为这是一个很有经验的人可以向我解释这个问题吗?
感谢
答案 0 :(得分:3)
你需要使用双引号才能获得变量的值
$query = "SELECT
people_fullname
FROM
people
WHERE
people_id = $people_id";
在php中,让我们说$a = 5
,
echo 'a is $a'; // will result: a is $s
echo "a is $a"; // will result: a is 5
作为旁注,如果变量的值( s )来自外部,则查询易受SQL Injection
攻击。请查看下面的文章,了解如何防止它。通过使用PreparedStatements
,您可以摆脱在值周围使用单引号。
答案 1 :(得分:1)
单引号没有变量替换 - 如果要将$ var替换为值,则需要双引号