PHP语法错误
我一直在努力使下面的查询的语法正确,但它一直在生成语法错误 代码示例PHP语法错误,php,string,syntax-error,Php,String,Syntax Error,我一直在努力使下面的查询的语法正确,但它一直在生成语法错误 代码示例 $_SESSION['FN'] = "FirstName"; $_SESSION['LN'] = "LastName"; $_SESSION['Code'] = 1; $strSql = "INSERT INTO BookingInformation (FirstName,LastName,Code) VALUES("'.$_SESSION['FN'].'","'.$_SESSION['LN'].'",'.$_SESSION[
$_SESSION['FN'] = "FirstName";
$_SESSION['LN'] = "LastName";
$_SESSION['Code'] = 1;
$strSql = "INSERT INTO BookingInformation (FirstName,LastName,Code) VALUES("'.$_SESSION['FN'].'","'.$_SESSION['LN'].'",'.$_SESSION['Code'].')";
我想存储字符串和整数值,但您引用的insert语句生成语法错误,如
VALUES("'
应该是
VALUES('"
试着这样做:
$strSql = "INSERT INTO BookingInformation (FirstName, LastName, Code) VALUES('" . $_SESSION['FN'] . "', '" . $_SESSION['LN']. "','" . $_SESSION['Code'] . "')";
此外,您的代码也可以使用。问题在于“”在“”中。请尝试以下方法:
$strSql = "INSERT INTO BookingInformation (FirstName) VALUES ('".$_SESSION['FN']."', '".$_SESSION['LN']."', '".$_SESSION['Code']."')";
您还试图在一行中插入3个值,但不能像上面那样完成,应该是(伪代码):
或者在您的情况下:
$strSql = "INSERT INTO BookingInformation (FirstName, LastName, Code) VALUES ('".$_SESSION['FN']."', '".$_SESSION['LN']."', '".$_SESSION['Code']."')";
最后,您的代码似乎不安全,因为会话可能被篡改,最好使用准备好的查询或mysql\u real\u escape\u string()试试看
$strSql=“插入BookingInformation(FirstName,LastName,code)值(“$\u会话['FN']”,“$\u会话['LN']”,“$\u会话['code']”,“)”代码>这个句子很糟糕,
正确的形式是:
/* i don't need this!!!
$_SESSION['FN'] = "FirstName";
$_SESSION['LN'] = "LastName";
$_SESSION['Code'] = 1;
*/
$strSql = "INSERT INTO BookingInformation (FirstName) VALUES("'.$_SESSION['FN'].'")";
o如果表BookingInformation的字段是,例如,FirstName、LastName和Code,
您可以插入:
$strSql = "INSERT INTO BookingInformation (FirstName,LastName,Code) VALUES("'.$_SESSION['FN'].'","'.$_SESSION['LN'].'",'.$_SESSION['Code'].')";
如果某些值为null,则可以执行以下操作:
$strSql = "INSERT INTO BookingInformation VALUES("'.$_SESSION['FN'].'",'','')";
您在使用$\u会话
变量做什么?您的代码易受sql注入攻击@piddl0r,它取决于变量值来自何处。会话变量通常在服务器端保存,并在客户端cookie中包含会话密钥。永远不要假设某些东西可以安全使用;-)错误:解析错误:语法错误,意外的T_-ENCAPSED_和_-WHITESPACE,在/hermes/web08/b978/pow.habtoortballcom/htdocs/alfarooqcentre.com/Bookings/test.php第7行代码字段为整数时应为T_字符串或T_变量或T_-NUM_字符串。“$会话['Code']。”是否仍需按原样编写查询,你可以不用双引号来使用它。一个非常重要的一点是你应该做输入验证。这一行代码假设您确信这些变量中没有任何令人讨厌的东西<代码>SQL注入
是一种非常常见的攻击方式。
$strSql = "INSERT INTO BookingInformation VALUES("'.$_SESSION['FN'].'",'','')";