我有一个与php5.3一起使用的旧网页,我试图在php5.5的测试环境中运行它,一切都坏了X)
我意识到php标签只是以<?
而不是<?php
开始,将标签添加到标签似乎解决了一些问题,但是现在我有一个非常奇怪的问题
注意:未定义的变量:第175行的C:\ xampp \ htdocs \ ekey \ register.php中的Id 错误:您的SQL语法中有错误;查看与您的MySQL服务器版本相对应的手册,以获得在&#39;&#39;附近使用的正确语法。第1行
最初我试图从会话状态ID获取变量Id(在php 5.3的实际站点中工作)但在我的测试环境中使用php 5.5我得到了
<?php if(isset($_SESSION['LOGIN_STATE_ID']) && ($_SESSION['LOGIN_STATE_ID'] > 0))
$Id=10;
//$Id=$_SESSION['LOGIN_STATE_ID'];
$sql='SELECT * FROM tbl_members WHERE member_id ='. $Id;
$rs=mysql_query($sql) or die("MYSQL Error: " . mysql_error());;
$row=mysql_fetch_array($rs);
$member_first_name=$row["member_first_name"];
$member_last_name=$row["member_last_name"];
$member_email_id =$row["member_email_id"];
$member_country =$row["member_country"];
$member_state=$row["member_state"];
?>
因此,作为测试,我决定在使用它之前手动将变量定义为10 ....我仍然得到相同的错误!!!
如果你要问,我很确定它的php版本,我用php 5.3运行另一个XAMP,那个测试环境中的网站工作得很好!
我还要感谢从5.3到5.5的任何其他经验或迁移提示
答案 0 :(得分:-1)
你缺少括号。
<?php if(isset($_SESSION['LOGIN_STATE_ID']) && ($_SESSION['LOGIN_STATE_ID'] > 0))
{
$Id=10;
//$Id=$_SESSION['LOGIN_STATE_ID'];
$sql='SELECT * FROM tbl_members WHERE member_id ='. $Id;
$rs=mysql_query($sql) or die("MYSQL Error: " . mysql_error());;
$row=mysql_fetch_array($rs);
$member_first_name=$row["member_first_name"];
$member_last_name=$row["member_last_name"];
$member_email_id =$row["member_email_id"];
$member_country =$row["member_country"];
$member_state=$row["member_state"];
}
?>
现在,if
语句仅影响以下行$Id=10
。当statemant为false时,未设置$Id
并且您的SQL查询有错误,因为它以member_id=
结束。