如果我把
$sql1 = 'Select * from follow WHERE followmak = $usid';
它不起作用
每当我把
$sql1 = 'Select * from follow WHERE followmak = 1';
1或其中的任何基数。我试图回应$ usid并且它有效,但我想知道为什么它在sql语句中不起作用,请帮助我,我是PHP的菜鸟
我的完整代码如下:
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$sql = 'SELECT * from follow';
$q = $pdo->query($sql);
$q->setFetchMode(PDO::FETCH_ASSOC);
$usid = ($row7['userID']);
$sql1 = 'Select * from follow WHERE followmak = $usid';
$q1 = $pdo->prepare($sql1);
$q1->execute([$usid]);
$q1->setFetchMode(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
die("Could not connect to the database $dbname :" . $e->getMessage());
}
?>
答案 0 :(得分:0)
尝试使用双引号,
$sql1 = "Select * from follow WHERE followmak = $usid";
使用单引号(')和双引号(")之间存在差异。 使用单引号,php会将其解释为字符串,而使用双“php”会将变量的值显示为字符串。
答案 1 :(得分:0)
PHP '
(单引号)和"
(双引号)的工作原理如下。
如果你把一个变量放在单引号中,它会将它视为普通字符串,如果你把一个变量放在双引号中,它会把它当作一个变量。 check this link
所以你的例子
$sql1 = 'Select * from follow WHERE followmak = $usid';
$ userid在这里不是变量,而是普通字符串,你的正确查询应该是
$sql1 = "Select * from follow WHERE followmak = $usid";
答案 2 :(得分:0)
试试这个
$sql1 = "Select * from follow WHERE followmak = '$usid'";