我对PHP很陌生,并且被告知我的MySQL语句不适合注射。
我有旧的疑问:
$addbook = "INSERT INTO bookings (bookID, startDate, startTime, endDate, endTime) ";
$addtempres .= "VALUES ('".$bookid."', '".$startdate."', '".$starttime."', '".$enddate."', '".$endtime."')";
$insertBook = mysql_query($addbook);
$getblogposts = mysql_query("SELECT * FROM blogposts WHERE deleted = 'no' ORDER BY postID DESC LIMIT 4");
阅读完之后我明白他们是不安全的,我也明白mysql_query已经过时了,并且正在折旧。
然而,我写了很多这些查询,并且认识到它们都陈旧且不安全是令人生畏的,所以我开始尝试保护它们。
所以我这样做了:
$escapedbookid = mysql_real_escape_string($bookid) ;
$escapedstartdate = mysql_real_escape_string($sqlcoldate);
$escapedstarttime = mysql_real_escape_string($forstarttime);
$escapedenddate = mysql_real_escape_string($sqlretdate);
$escapedendtime = mysql_real_escape_string($forendtime);
$escapedactive = mysql_real_escape_string('false');
$addtembook = "INSERT INTO bookings (bookID, startDate, startTime, endDate, endTime) ";
$addtempres .= "VALUES ('".$escapedbookid."', '".$escapedstartdate."', '".$escapedstarttime."', '".$escapedenddate."', '".$escapedendtime."')";
$insertRes = mysql_query($addtempbook);
这更安全吗?我很欣赏当我学习将当前的查询翻译成PDO时,PDO编写的语句更容易,更安全,但我只是想知道我所做的是否使事情更安全?
答案 0 :(得分:1)