草庐IT

database_query

全部标签

php - Zend_Db : How to connect to a MySQL database over SSH tunnel?

如何使用PHP和ZendFramework连接到需要SSH隧道的MySQL数据库? 最佳答案 只需启动SSH隧道并使用本地端口作为您的MySQL端口。例如,你这样启动隧道,ssh-fuser@mysql-server.com-L3306:mysql-server.com:3306-N你可以像这样连接到MySQL,$conn=mysql_connect('localhost','mysql_user','mysql_password');对于zend_db,你这样做,$config=newZend_Config(array('data

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 - 这是在 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 - 来自 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

php - "No database selected"错误,即使在选择了数据库之后

我已经选择了数据库,但出于某种奇怪的原因,它仍然说它没有被选中。连接线:$location="localhost";$user="user";$pass="pass";//DatabaseSelection$link=mysql_connect($location,$user,$pass);if(!$link){die('Couldnotconnect:'.mysql_error());}//DatabaseSelectionmysql_select_db('database')ordie(mysql_error());查询:while($row_fpages=mysql_fetch_

php - MySQLi PHP : Check if SQL INSERT query was fully successful using MySQLi

我有一个大函数,可以获取大量不同的数据并将其插入多个表中。并非所有数据都始终可用,因此并非所有SQLINSERT查询都成功。我需要检查哪个SQLINSERT查询完全成功,哪个没有对这些数据执行某些操作(比如插入日志表或类似的)。只是举个例子说明我认为如何做到这一点:$sql='INSERTINTOdata_table(ID,column1,column2)VALUES(?,?,?)';if($stmt->prepare($sql)){$stmt->bind_param('iss',$varID,$var1,$var2);if($stmt->execute()){$success==TR

php - Codeigniter DB Query with where, or, and.. and like

我在下面查询它的条件(减去select、from等)$this->db->where('show_year',$yyyy);$this->db->or_where('idn',$idn);$this->db->or_like('post_slug',$idn);哪些形式SELECT*FROM(`nyb_articles`)WHERE`show_year`='2009'OR`idn`='the'AND`post_slug`LIKE'%the%'不过我希望它更像SELECT*FROM(`nyb_articles`)WHERE`show_year`='2009'AND(`idn`='the'

mysql - 尝试隔离每个主机的 pt-query-digest

我很难想出正确的语法来为我的慢速查询日志文件提取特定主机信息:我正在使用以下内容:sudopt-query-digestmysql-slow.log--since"2017-05-0722:00:00"--until"2017-05-0822:00:00"--filter‘$event->{host}!~m/^ip-1-1-1-1/’>slow.log在这种情况下,我试图排除所有1.1.1.1的IP。我不知道出了什么问题。 最佳答案 使用ascii引号('),而不是这个非ascii引号(');假设m/^ip-1-1-1-1/有效,它