【发布时间】:2009-12-18 17:01:21
【问题描述】:
我需要在插入时取回一行的 postid(自动递增 PK)。
我目前正在使用它来获取它
//get postid to return
if($result = $db -> query('SELECT postid FROM posts WHERE title = \''.$title.'\' LIMIT 1')){
$row = $result->fetch_assoc();
$json['postid'] = $row['postid'];
$result->free();
其中 $title 是新插入帖子的标题名称。
mysqli 类中是否有一部分允许我在一个查询中执行此操作? $db -> query() 是否返回任何可以使这更简单和更安全的信息?
我尝试过浏览 mysqli 文档,但找不到我想要的。我确定它就在某个地方。
多个标题会搞砸,虽然不允许,但你不能太安全
【问题讨论】:
-
您确实意识到您的查询容易受到 SQL 注入的攻击,因为您没有转义 $title,而且您认为 $title 有多安全并不重要,事实并非如此。
-
$title 被预先转义,因为它在此之前的 INSERT 查询中使用过