0

为什么以下插入不起作用?

     $sql="INSERT INTO users (user, name, last, email) VALUES 
     ('$_subscriber->getUser()','$_subscriber->getName()',
     '$_subscriber->getSurname()','$_subscriber->getEmail()')";

但是当我像这样使用它时:

$user = $_subscriber->getUser();
$name = $_subscriber->getName();
$last = $_subscriber->getSurname();
$email = $_subscriber->getEmail();

$sql="INSERT INTO users (user, name, last, email) VALUES 
            ('$user','$name','$last','$email')";

我在第一次尝试中所做的事情我不想使用我的解决方法。

4

3 回答 3

5

使用{}围绕值

 $sql="INSERT INTO users (user, name, last, email) VALUES 
 ('{$_subscriber->getUser()}','{$_subscriber->getName()}',
 '{$_subscriber->getSurname()}','{$_subscriber->getEmail()}')";
于 2013-06-26T15:59:08.910 回答
3

因为你不能直接在这样的字符串中使用对象表示法。

"This $will->not() work"

"{$But->this()} will"
于 2013-06-26T15:59:39.363 回答
2

尝试

 $sql="INSERT INTO users (user, name, last, email) VALUES 
     ('".$_subscriber->getUser()."','".$_subscriber->getName()."',
     '".$_subscriber->getSurname()."','".$_subscriber->getEmail()."')";
于 2013-06-26T15:59:51.747 回答