草庐IT

delete_by_query

全部标签

php - 如果在查询中不考虑用户输入,使用 mysqli_query() 是否危险?

每当我想运行MySQL查询时,我都会准备语句:$query="SELECT*FROMusersWHEREname=?";$stmt=mysqli_stmt_init($con);$stmt->prepare($query);$stmt->bind_param('s',$_POST['user']);$stmt->execute();$result=$stmt->get_result();$assoc=mysqli_fetch_assoc($result);但是,如果我根本不接受用户的任何信息怎么办?这是:$query="SELECT*FROMusers";$stmt=mysqli_st

mysql - findOne({键 :value}) or findOne(). 其中({键 :value}) when querying database with waterline?

我正在使用Waterline通过Sails查询MySQL数据库。我找到了2种方法。不知道哪个更好?顺便问一下,如何处理这两种情况的错误?1.Model.findOne().where({key:value}).then(function(data){console.log(data);})2.Phase.findOne({key:value}).then(function(data){console.log(phase);}) 最佳答案 两者都行。在该方法中,您会发现如下所示的错误。1.Model.findOne().where({

mysql - 在 where 子句中使用 group by 进行条件计数

我有一个简单的消息传递系统——将所有消息保存在一个表中。每条消息都可以(并且应该)与代表网站某些部分的其他3个表格之一相关联。下面是建表语句CREATETABLE`messages`(`id`bigint(20)unsignedNOTNULLAUTO_INCREMENT,`from_user_id`int(11)DEFAULTNULL,`to_user_id`int(11)DEFAULTNULL,`message`textCOLLATEutf8_bin,`table1_id`int(11)DEFAULTNULL,`table2_id`int(11)DEFAULTNULL,`table3

php - GROUP BY 子句忽略行和数据

正如我们所知,GROUPBY子句通过指定特定的GROUPBY'user_id'忽略重复数据来返回数据,但我想这样做GROUPBY忽略表行,但我想将该行的数据合并到数组中,这意味着我想要所有数据,但在过滤行中我想要类似的东西id|name|user_id-------------------1abc202trt193sdf204khg225fdf206lnm22id|name|user_id-------------------1abc,sdf,fdf202trt193khg,lnm22 最佳答案 为此使用GROUP_CONCAT。试

mysql - Spring 批处理 : ItemProcessor query Database?

我有一个场景,我需要解析平面文件并将这些记录处理到mysql数据库插入(模式已经存在)。我正在使用FlatFileItemReader解析文件,并使用JdbcCursorItemWriter插入数据库。我还使用ItemProcessor来转换任何列值或跳过我不需要的记录。我的问题是,其中一些插入需要有一个外键,指向其他已经有数据的表。所以我想在ItemProcessor逻辑中进行选择以检索ID并更新pojo。这是最好的方法吗?我可以考虑替代方案,因为我才刚刚开始写这一切。谢谢! 最佳答案 SpringBatch步骤中的ItemPro

mysql - 加速 : query with a GROUP BY

我使用下面的查询来选择电影年龄最小的Actor。SELECTproduction_cast.production_id,MIN(birthdate)FROMpersonLEFTJOINproduction_castONproduction_cast.person_id=person.idWHEREbirthdateISNOTNULLGROUPBYproduction_cast.production_id;然而IMDB数据集非常庞大,需要300多秒才能完成。如果没有GROUPBY和MIN,此查询将在0.2秒内完成:SELECTproduction_cast.production_idFR

mysql - 为什么我的带有 ORDER BY 的 MySQL SELECT 语句这么慢,即使列上有 INDEX?

我有一个movies表。它有130万行。该表在title列上有一个INDEX,顺序为asc,长度为255。title列本身是一个VARCHAR(1000)。即使使用该设置,以下查询也需要8秒才能运行。关于为什么会这样,有人在黑暗中有想法或镜头吗?我很困惑,因为这似乎是一个需要解决的基本问题。SELECTtitleFROMmoviesORDERBYtitleLIMIT150000,50000当我取出ORDERBY时,查询速度超快(0.05秒):SELECTtitleFROMmoviesLIMIT150000,50000 最佳答案 编辑

mysql - 如何在MySQL中使用GROUP By和HAVING

前两个查询工作正常,第三个查询运行但在应该有结果时没有返回任何结果。我怎样才能得到第三个带回结果。在我看来,GROUPBY和HAVING不能一起工作。第二个查询返回32个事件状态和7个待定状态,因此第三个查询应该返回第二个查询的摘要,但事实并非如此。SELECTCOUNT(DISTINCTMLSNumber)ASTOTAL,`Status`FROMResidentialWHEREPropertyType='SingleFamily'ANDStatusIN("Active","Pending")GROUPBY`Status`;SELECTMLSNumber,`Status`,(3959*

php - mySQL 语句的第一个词不能是 DELETE 或 UPDATE

我目前正在写一个查询数据库的页面,而不是使用命令行(它只是为了练习PHP如何与整个数据库交互)。现在,我正在尝试限制删除或更新数据,即没有DELETE、DROP或UPDATE语句。修剪所有空格(包括\r和\s等)后,仅扫描第一个单词以确定它是什么类型的查询就足够了吗?换句话说,是否可以编写DELETE、DROP或UPDATE查询而不将它们作为修剪空格后的第一个词?我目前正在使用mysqli_query,因此无法执行多个查询。编辑1:添加相关代码@Tim。$queryCheck=strtolower($query);$queryCheck=preg_replace("/\s+/","",

php - mysql_query如何与一个 "dynamic"数据库一起使用呢?

今天我在我的网站上工作,试图显示游戏的最后获胜者。这是我的代码:$lastgame=fetchinfo("value","info","name","current_game");$winnercost=fetchinfo("cost","games","id",$lastgame-1);$winnerpercent=round(fetchinfo("percent","games","id",$lastgame-1),1);$winneravatar=fetchinfo("avatar","users","steamid",$lastwinner);$winnername=fetch