我目前正在使用以下查询来使用php获取mysql中的值:
该代码正在运行,但是现在我担心sql注入。
如何防止SQL注入?
<?php include_once("wp-config.php"); @$gameid = $_GET['gameid']; global $wpdb; $fivesdrafts = $wpdb->get_results( " SELECT ID FROM $wpdb->posts WHERE ID = ".$gameid." " ); ?>
这样安全吗?
<?php include_once("wp-config.php"); @$gameid = mysql_real_escape_string($_GET['gameid']); global $wpdb; $fivesdrafts = $wpdb->get_results( $wpdb->prepare( " SELECT ID FROM $wpdb->posts WHERE ID = %d", ".$gameid.") ); ?>
来自WordPress Codex,关于保护查询免受SQL注入攻击:
<?php $sql = $wpdb->prepare( 'query' , value_parameter[, value_parameter ... ] ); ?>
如果进一步向下滚动,则有一些示例。
您还应该阅读数据库验证文档 ,以更全面地了解WordPress中的SQL转义。