草庐IT

query_statement

全部标签

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 - mysql prepared statements中的绑定(bind)过程

众所周知,准备好的语句可以很好地防御SQL注入(inject)攻击。有人能解释一下绑定(bind)过程中发生了什么吗?我的主要困惑源于语句使用占位符并且这些占位符被变量替换的事实。因此,如果变量包含恶意sql,那么它们仍然会代替占位符进行绑定(bind)? 最佳答案 不,绑定(bind)过程确保绑定(bind)值与进入数据库的值1:1匹配。所以,'xxx;删除表yyy;'作为一个值将是varchar字段中的实际值。当不使用参数绑定(bind)时,将执行此代码。 关于php-mysqlpr

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/有效,它

php - 是否可以在 MySQL General/Slow Query Logs 中隐藏密码?

有时我查看MySQL日志时偶然发现一些AES_ENCRYPT/AES_DECRYPT请求以明文形式显示密码。如果我在PHP中创建日志,我将能够delete他们。但是MySQLgeneral/slowquerylogs呢?.他们的选项是否可用,或者是否可以设置一个不会保存在日志中的mySQL变量? 最佳答案 不幸的是,我不知道有什么方法可以禁用单个语句的MySQL日志记录。出于这个原因,MySQL文档建议保护日志:来自5.2.3.TheGeneralQueryLogAsofMySQL5.6.3,passwordsinstatement

mysql - 有关 MySQL 中 last_query_cost 的更多信息?

在进行查询优化时,SHOWSTATUS查询返回的值通过一些实践和解释很容易理解。但是last_query_cost是晦涩难懂的,而且文档也很少。唯一解释的是,它必须被解读为一种反男子气概的值(value)观:越小越好。但是我们是否有关于这个高级值的更多信息?它的单位是什么?它是如何计算(估计)的?等。我们如何使用它进行高级分析?感谢您宝贵的帮助。:) 最佳答案 这与MySQL查询优化器的工作方式有关。当你输入并执行一个查询时,MySQL会构建一个查询计划。这是通过评估如何以几种不同的方式执行查询,并将“成本”分配给不同的可能性来完成

php - mysql_query where 语句

我正在使用GET方法从url中检索值,然后使用if语句确定它们是否存在,然后针对数据库查询它们以仅显示与它们匹配的项目,我收到您的请求的未知错误。这是我的代码$province=$_GET['province'];$city=$_GET['city'];if(isset($province)&&isset($city)){$results3=mysql_query("SELECT*FROMgeneralinfoWHEREprovince=$provinceANDcity=$city")ordie("Anunknownerroroccurredwithyourrequest");}els

MySQL 性能 : Single query using GROUP_CONCAT, 还是两个单独的查询?

我有一个MySQL数据库,每个用户都有一个账号,每个账号可以有多个权限。我的最终目标是以帐户的用户名和逗号分隔的权限ID列表结束。我可以通过两种方式完成此操作:SELECTa.username,GROUP_CONCAT(rp.permission_id)aspermission_idsFROMaccountASaJOINrole_permissionASrpONrp.role_id=a.role_idWHEREa.id=1902……或者……SELECTusernameFROMaccountWHEREid=1902;SELECTpermission_idFROMaccount_permi

mysql - SQL QUERY 结果排列问题

这是我的SQL查询:selectname,descriptionfromwp_widget_customwherenamein('hemel-hempstead','maidenhead','guildford','bromley','east-london','hertfordshire','billericay','surrey')我得到的结果是这种形式:namedescriptionhemel-hempsteadLoreumipsimeast-londonLoreumipsimbromleyLoreumipsimBROMLEYbillericayLoreumipsimmaiden

php - Symfony2 中的 Doctrine2 : How can I see which object-call leads into a query?

我将Symfony2与Doctrine2一起使用。对于我的项目,我制作了具有不同关联映射的实体。首先,我确实看到了大约7个请求一个对象的查询,所以我决定进行“急切加载”并将其减少到三个查询。但是他们两个在symfony工具栏(Profiler)中看起来是一样的直接互相调用。据我了解,我的代码中不需要第三个查询。那么我必须在doctrinephp文件中的什么位置设置断点,以查看我的代码的哪一行使doctrine调用新查询?或者是否有其他解决方案来了解我如何优化此请求?更新:在考虑了Artworkad的答案之后,我必须更详细地讨论。这是因为我没有通过我的Controller发出2个对象请求