草庐IT

Mysqli_query

全部标签

php - 如何在存储过程中使用 MySQLi 准备语句

我正在尝试了解有关MySQL以及如何防止SQL注入(inject)的更多信息,因此我的研究将我带到了准备好的语句,这似乎是可行的方法。我也在努力学习如何编写存储过程,现在正尝试将两者结合起来。不过这方面的信息不多。目前在我的PHP测试应用程序中,我有一个函数可以使用像这样的普通MySQL命令调用SP:mysql_query("CALLusp_inserturl('$longurl','$short_url','$source')");我怎样才能对MySQLi和准备好的语句做同样的事情,以使其对注入(inject)尽可能安全?谢谢! 最佳答案

php - 如何使用 mysqli 预处理语句?

我正在尝试准备好的语句,但下面的代码不起作用。我收到错误:Fatalerror:Calltoamemberfunctionexecute()onanon-objectin/var/www/prepared.phponline12connect_errno){echo"FailedtoconnecttoMySQL:".$mysqli->connect_error;}$stmt=$mysqli->prepare("INSERTINTOusers(name,age)VALUES(?,?)");//insertonerow$stmt->execute(array('one',1));//ins

mysql - 通过新的 wpdb 更改数据库后使用 wp_query

我正在尝试使用wordpress从其他数据库访问自定义帖子。为此,我更改了当前的$wpdb全局变量:$wpdb=newwpdb($user,$pass,$db,$host);$wpdb->show_errors();这没有显示任何错误,但是当我尝试使用WP_Query时:$args=array('post_type'=>'produtos');$newloop=newWP_Query($args);我收到以下错误:WordPressdatabaseerror:[YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyo

mysql - Node js : check mysql connection before a query

我将Nodejs与mysql一起使用,并希望避免应用程序因连接错误而崩溃。目前我使用它:functionmysql_handleDisconnect(){mysql_connection=mysql.createConnection(mysql_config_obj);//Recreatetheconnection,since//theoldonecannotbereused.mysql_connection.connect(function(err){//Theserveriseitherdownif(err){//orrestarting(takesawhilesometimes)

php - 使用 mysql_query 成功但使用 mysqli_query 失败的注入(inject)攻击

更新:对此有一些启发性的回应,主要观点是mysql函数已弃用,还有mysqli允许您使用准备好的语句。这很有意义,而且很有帮助,而在我看来,仅仅“使用mysqli”既没有建设性,也没有帮助。每当有人在SO上询问PHP和MySQL问题,并且OP有使用mysql_query的代码时,本能的社区react是评论他们应该使用mysqli而不是函数系列。如果我的代码使用mysql_query,您能否提供一个恶意用户可以发起成功的注入(inject)攻击的场景,但是如果尝试进行相同的攻击,但使用的代码会被挫败mysqli函数代替?假设一个语句中的多个查询被禁用,这是典型的情况。

php - 如何使用循环绑定(bind) mysqli 参数并将结果存储在数组中?

$genre=array('Action','Adventure','Fantasy');$selectGenre_sql='SELECTgenreIDFROMgenresWHEREdbGenre=?';if($stmt->prepare($selectGenre_sql)){//bindthequeryparameters$stmt->bind_param('s',$genre);//bindtheresultstovariables$stmt->bind_result($genres);//executethequery$stmt->execute();$array1=array(

php - 这是在 PHP 中构造 mysql_query 的安全方法吗

我已经尝试通过对firefox之外的服务器进行自定义查询来实现SQL注入(inject)。在php中,所有变量都以这样的字符串形式传递到查询中。请注意,在此阶段,$_POST尚未被触及。mysql_query('INSERTINTOusers(password,username)VALUES('.sha1($_POST['password']).','.$_POST['username'].'));这是进行更改的安全方法吗? 最佳答案 您绝对应该使用mysql_real_escape_string转义用户名.当然,最好的解决方案是使

php - CodeIgniter:所有 $this->db->query() 方法调用的 SQL 审计?

我正在使用CodeIgniter2+并希望审核所有$this->db->query($sql);调用。我们所有的数据库调用都是通过query()方法进行的;没有事件记录使用。我需要记录$sql查询并将它们输入到自定义表中以用于审计记录目的。是否知道扩展核心系统数据库以审计查询的方法?看起来这应该很容易,但我似乎找不到简单的解决方案。CI论坛有几个关于旧版本的失败帖子。 最佳答案 这取决于您要如何审核它们。如果您正在寻找每页的基础,那么启用分析器就可以了。这显示了在该页面加载时运行的所有查询以及执行它们所花费的时间。在分析器上查看下面

php - 如何使用带有 SSL 的 mysqli 连接

我正在尝试与我的数据库建立安全连接我写了下面的代码:prepare("SELECTid,usernameFROMuserWHEREusername=?ANDpassword=?");$statement->bind_param("ss",$username,$password);$statement->execute();$result=$statement->get_result();$statement->close();$count=$result->num_rows;if($count>0){session_start();$_SESSION["username"]=$user

php - 来自 mysqli_Query 的回显结果

我正在制作一个供自己使用的个人脚本,我需要知道如何回显来自mysqli_query的结果。我的代码如下:$conn=mysqli_connect($servername,$username,$password,$dbname);if(isset($_POST['commercial'])){if(isset($_POST['0'])){$sql="SELECTemailFROMCommercialEmailsWHEREarticleid='$_POST[article]'ANDdripid=1ANDsent='a'";$resultsd1=mysqli_query($conn,$sql