2016-11-16 39 views
0

最近,我一直试图编写一个论坛,从互联网上的各种老教程,但我最近遇到了一个问题 - 虽然我已经完全按照教程所说,我收到空白错误。我认为这可能是因为一些MySQL命令可能已经改变。如果有人可以帮助我告诉我什么是不正确的以及如何解决它,请这样做!旧的MySQL代码造成的空白错误

25: $sql = "ìINSERT INTO sections(sect_name, sect_description) 
26: VALUES('' . mysql_real_escape_string($_POST['sect_name']) . ì', 
27: '' . mysql_real_escape_string($_POST['sect_description']) . ì')'"; 
28: $result = mysql_query($sql); 

的错误信息是:

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in [Name of directory] on line 26

+0

无论是教程是完全错误的(这是过时的方式),或者你没有完全相同。 –

+0

我看到的问题:1)插件的某种外语版本,''INSERT INTO',以及2)在VALUES之前可能没有空格 –

+0

您使用的是超级技术!获取另一个 –

回答

0

您可以轻松地做到这一点:

$sql = sprintf("INSERT INTO sections(sect_name, sect_description) 
    VALUES('%s', '%s');" 
, mysql_real_escape_string($_POST['sect_name']) . i 
, mysql_real_escape_string($_POST['sect_description']) . i); 

对 '%s' 被替换为sprintf函数的变量。 这种方式比连接整个字符串更容易阅读。