2014-10-08 146 views
-2

之间有什么区别:分配给变量在PHP

$recipient = $query_row['email']; 

$recipient = '[email protected]'; 

其中$ query_row [“电子邮件”]从一个MySQL查询工作,并可以返回的值得到回应。

当进入一个功能,他们的行为完全不同。

$formproc->AddRecipient($recipient); 

当我使用查询返回值时,它不起作用,但在我使用电子邮件地址写入时工作正常。 注:$ query_row [ '电子邮件']相同[email protected]

print_r($query_row['email']); 

回报:[email protected]

var_dump($query_row['email']); 

回报:字符串(16)“我的@例子.com“

当我使用$ recipient ='[email protected]';当我使用其他方法时,电子邮件发送到[email protected],电子邮件未发送。

谢谢。

+1

请显示完整的代码。 – mochalygin 2014-10-08 06:57:49

+0

返回的值可能是否有额外的空格?或者,确保它是一个字符串。 – tvgemert 2014-10-08 06:58:40

+0

使用'print_r()'或'var_dump()'打印返回值以查看确切的数组结构和值 – Arun 2014-10-08 06:59:46

回答

2

两者没有任何区别,都将值分配给$recipient

唯一的区别是$query_row['email'];似乎是,您从数据库中提取,其中$recipient = '[email protected]';您正在分配直接。

注:确保在$query_row['email']具有价值,它像​​

+0

由于PHP的特定工作与参考数组有关,所以在罕见的ocasion中可能会有所不同。 – mochalygin 2014-10-08 06:58:29

0

$ query_row一个字符串值[ '电子邮件']必须不等于 '[email protected]' 或$ formproc-> AddRecipient( $收件人)将返回相同的东西。在调用函数之前对操作数进行求值。

为了给你一个更完整的答案,我们需要看看剩下的代码,特别是$ query_row ['email']来自哪里。

+0

当我做 - echo $收件人= $ query_row ['电子邮件']; - 但我在浏览器中找回[email protected]。 – Guage 2014-10-08 07:02:06

1

$recipient可以是一个字符串或整数,而$query_row['email']是一个数组,价值email属于所谓$query_row

0

你能一次用这个

$收件人=“'”。$ query_row试阵['电子邮件']。”'”;

$ formproc-> AddRecipient($ recipient);

看看它的工作与否

+0

给了它一个镜头,以及尝试用引号和撇号一些改动,但仍然没有。 – Guage 2014-10-08 07:25:12

+0

嗨,一旦使用这个正常的PHP邮件功能,看看邮件是否发送或我没有使用过,我收到了邮件.. $ usersquery = mysql_query(“select * from users”); $ row = mysql_fetch_array($ usersquery,MYSQL_BOTH); $到= $行[ '电子邮件']; mail($ to,“test”,“test”); – Choco 2014-10-08 08:55:53

+0

使用$ to = $ query_row ['email']; mail($ to,“test”,“test”);并检查它的工作与否。 – Choco 2014-10-08 08:57:13