Php 变量两边的这些点是什么?
我是PHP/MySQL新手,我只是想通过下面的教程来熟悉它: …以下是脚本开头的摘录:Php 变量两边的这些点是什么?,php,string,Php,String,我是PHP/MySQL新手,我只是想通过下面的教程来熟悉它: …以下是脚本开头的摘录: $inf = "SELECT * FROM `comments` WHERE page = '".stripslashes($_SERVER['REQUEST_URI'])."' ORDER BY time ASC"; $info = mysql_query($inf); f(!$info) die(mysql_error()); 我明白这是怎么回事,但我想知道为什么 stripslashes($_SER
$inf = "SELECT * FROM `comments` WHERE page = '".stripslashes($_SERVER['REQUEST_URI'])."' ORDER BY time ASC";
$info = mysql_query($inf);
f(!$info) die(mysql_error());
我明白这是怎么回事,但我想知道为什么
stripslashes($_SERVER['REQUEST_URI'])
两边都有点?点将字符串链接在一起。句点是一个。具体来说,是串联运算符 用外行的话说,它把绳子粘在一起
正如您在文档中看到的,它是一个返回字符串的函数。因此,代码将第一个字符串
“SELECT…”
与函数结果连接起来,然后是最后一个字符串“ORDER…”
点(
)是PHP中的字符串连接运算符。我重复一遍,不要遵循该教程。它教会你一些非常糟糕的做法。您上面粘贴的代码就是一个安全漏洞的例子。谢谢您的建议,但我只是按照它来习惯PHP/MySQL-我将在以后研究编写更安全的代码。这不仅仅是缺乏安全性。作者希望您将日期和时间存储为MySQL中的文本。关于StackOverflow,这里有很多问题来自于那些做过这些事情的人,他们现在正在受苦受难。还有一个代码风格的问题,一般来说,提出的方法远不是一个好的方法(更不用说最好的方法了)一个精确的连接运算符好的,谢谢-我知道它是连接运算符,但我没有意识到在这个例子中需要它。