【问题标题】:Continue to get unexpected T_String Error at the last die statement [duplicate]在最后一个 die 语句中继续出现意外的 T_String 错误 [重复]
【发布时间】:2016-12-13 06:02:52
【问题描述】:

请看这个sn-p

<?php
$dbhost = 'localhost:3036';
$dbuser = 'luis';
$dbpass = 'ashok1234';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
mysql_select_db('lowcost1_mydatabase');

$sql = 'SELECT Sales_Author, Sales_Date, Sales_Channel, Sales_Title, Sales_Unit, Sales_Royalty, Sales_Currency    
    FROM Sales_tbl
    WHERE Sales_Email= \'&email\' ORDER BY Sales_Date ASC;

$conn2 = mysql_query( $sql, $conn );

if(!$conn2 )
{
  die('Could not fetch: ' . mysql_error());
}

我已经检查并重新检查了上面语句中的单引号,我在最后一个 die 语句中继续收到意外的 T_String 错误。如果有人能指引我正确的方向,我将不胜感激?谢谢!

【问题讨论】:

  • 在适当的编辑器中重新检查您的报价,它会像 SO 上的格式一样突出显示它,您会很容易看到它。

标签: php parsing syntax


【解决方案1】:

检查更新的代码

$sql = "SELECT Sales_Author, Sales_Date, Sales_Channel, Sales_Title, Sales_Unit, Sales_Royalty, Sales_Currency    
    FROM Sales_tbl
    WHERE Sales_Email= '" . $email . "' ORDER BY Sales_Date ASC";

$conn2 = mysql_query( $sql, $conn );

if(!$conn2 )
{
  die('Could not fetch: ' . mysql_error());
}

【讨论】:

  • Suresh,非常感谢您的帮助。您能否告诉我或引用参考资料,说明为什么必须将 $email 变量括在 '" . 分隔符内?另外,您是否必须使用双引号而不是单引号来括住 SELECT 语句?
  • 您不能在单引号内使用变量。如果你使用双引号,你可以在里面有变量。而在单引号中,它被认为是简单的字符串。所以像上面那样使用是个好习惯。
【解决方案2】:

您可以使用此代码。

$sql = "SELECT Sales_Author, Sales_Date, 
           Sales_Channel, Sales_Title, Sales_Unit, Sales_Royalty, 
Sales_Currency    
     FROM Sales_tbl
    WHERE Sales_Email= '&email' ORDER BY Sales_Date ASC";

还有,也许是 &email ---> $email?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    相关资源
    最近更新 更多