doujingdai5521
2016-06-11 14:44
浏览 74
已采纳

变量调用在sql语句中不起作用[duplicate]

This question already has an answer here:

if i put

$sql1 = 'Select * from follow WHERE followmak = $usid';

it does not work

and whenever I put

$sql1 = 'Select * from follow WHERE followmak = 1';

1 or any cardinal number it works out. I tries to echo $usid and it works and but I wonder why it does not work in sql statement , please help me I am noob in PHP

My Full Code is given below :

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());
}

?>


  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • doucu9677 2016-06-11 14:49
    已采纳

    Try using double quote,

    $sql1 = "Select * from follow WHERE followmak = $usid";
    

    There's a difference between using single quot (') and double quot ("). using single quot, php will interpret it as string while using double quot php will display the value of the variable into a string.

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • douduoting8408 2016-06-11 14:55

    The PHP '(single quote) and "(double quote) works like this. if you put a variable in single quote it will treat it as normal string and if you put a variable in double quote it will treat it as a variable. check this link

    so for your example

    $sql1 = 'Select * from follow WHERE followmak = $usid'; 
    

    $userid is not variable here instead it is normal string and your correct query should be

    $sql1 = "Select * from follow WHERE followmak = $usid";
    
    评论
    解决 无用
    打赏 举报
  • douquan1953 2016-06-11 14:56

    Try this

    $sql1 = "Select * from follow WHERE followmak = '$usid'";
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题