草庐IT

mysqli_query

全部标签

"slow queries log"中的 MYSQL 慢查询 - 但相同的查询手动运行速度非常快

如标题所述,在我的数据库中,各种查询出现在慢速查询日志中,但是当我手动运行它们时,它们运行速度提高了10倍。例如,一个相对简单的选择查询,有几个按参数排序的查询,在日志中通常需要100秒(是的,表非常大)......但是当我自己在同一个数据库上运行它时,它需要2秒左右。我检查了服务器的性能,当时似乎没有特别的减速或瓶颈,在那段时间也没有很多查询需要很长时间,只有一个。如何开始分析这样的问题?感谢帮助 最佳答案 当有问题的查询进入慢速日志时,您的系统可能更忙。如果rows_examined大于结果集,慢速日志可能表明索引没有被充分利用

mysql - mysqli 中的 "MySQL server has gone away"

我的网站抛出错误“MySQL服务器已消失”。我用谷歌搜索,找到一个使用mysql_ping函数的方法,但我使用扩展名mysqli,而不是mysql。我该如何解决这个问题? 最佳答案 为此,还有一个mysqli_ping方法:http://us3.php.net/manual/en/mysqli.ping.php但是,根据我的经验,不需要ping。我所要做的就是将mysqli.reconnect="1"添加到我的php.ini中。引用。checkifmysqlconnectionisvalid

php - mysqli_fetch_all 不适用于共享主机,需要替代方案

这个问题在这里已经有了答案:Alternativetomysqli_fetch_allneeded(2个答案)关闭4年前。在通过XAMPP在本地主机上进行开发时,我在代码中使用了mysqli_fetch_all。但是在godaddy共享主机上上传后,它不起作用。我在互联网上进行了研究,发现服务器应该使用MySQLnd来运行mysqli_fetch_all。所以我不能在服务器上运行我当前的代码。我需要这段代码的确切替代。有什么建议吗?当前代码:$result=mysqli_query($con,$query);$arr=mysqli_fetch_all($result,MYSQLI_AS

php - PDO::query() 运行到 "Cannot execute queries while other unbuffered queries are active."

也许其他人和我有同样的问题。我遇到了错误:Cannotexecutequerieswhileotherunbufferedqueriesareactive.ConsiderusingPDOStatement::fetchAll().Alternatively,ifyourcodeisonlyevergoingtorunagainstmysql,youmayenablequerybufferingbysettingthePDO::MYSQL_ATTR_USE_BUFFERED_QUERYattribute.在PDO上。正如在许多线程中提到的那样,错误至少可以是以下问题之一:如此处所述,查

php - Laravel dynamic where 使用 Query Builder 进行查询

我是Laravel的新手。我想使用laravel查询构建器进行动态查询。通常我可以在php中进行动态查询$where=array('hello'=>'world');functionget($where=null){if($where=="")$where="";//Functionwhichconvertswhereclauseintoquerieswheretoqueries($where);//convertswhereclause$sql="SELECT*FROM$tbl$where";return$sql;}echoget($where);如果where子句为null查询将是

php - 如何在 Laravel Query Builder/MySQL Spatial 包中按距离对查询结果进行排序?

首先,我想向您展示当前的数据库结构。一共有三个表:菜肴(id,名字)位置(id、名称、坐标(POINT))dish_location(location_id,dish_id)现在我想实现一个API,它获取用户的位置(纬度、经度)并返回按距离(以公里为单位)排序的菜肴列表。我已经有了一个方法,它需要两个纬度和两个经度并给我距离。但我相信您可以告诉我一种方法,这是一种直接在MySQL查询中执行此操作的更高效的方法。附加:我想在API中执行“加载更多”功能。所以我传递了已收到元素的数量,或者在这种情况下我将如何解决这个问题?我将其用于MySQLSpatialpackage

php - 捕获 mysql_query 错误

我正在尝试阻止将mysql_query错误输出到我的表单中。目前如果没有找到位置,我会收到错误“警告:mysql_result()[function.mysql-result]:无法跳转到MySQL结果索引11上的第0行”我正在trycatch此错误,而是将$location变量分配给未找到。我尝试这样做的代码如下,我做错了什么?谢谢!$query3="SELECT`location`FROMlocationWHEREvin='$vin'LIMIT1";$result3=mysql_query($query3);if(!mysql_result($result3,0)){$locati

php - laravel query php 如何获取一个范围内的最大值

你好我如何获得分数的最大值,其中列ID范围从3-5开始示例表我想得到scores的最大值,其中columnID的范围是3-5,请帮助,到目前为止我做了什么:$max_scores_table=DB::table('scores_table')->where('id','>',2)->max('score');另一个问题是当我在表格中有小数点时当我使用max()函数时,它得到的是ID=5,它的分数是4.5,而不是ID=4,值为4.6,提前tnx 最佳答案 尝试使用whereBetween希望这有效:$max_scores_table=

PHP MySQLi num_rows 总是返回 0

我构建了一个类,它利用了PHP的内置MySQLi类的功能,旨在简化数据库交互。但是,使用OOP方法时,我很难使用num_rows实例变量在运行查询后返回正确的行数。看看我类(class)的快照......classDatabase{//Connecttothedatabase,allgoeswell...//Runabasicqueryonthedatabasepublicfunctionquery($query){//Runaqueryonthedatabaseanmakesureisexecutedsuccessfullytry{//$this->connection->query

php - 如果 PHP 的 mysql 扩展据说不支持像 mysqli 这样的事务,为什么我看到人们使用它进行在线事务?

我正在阅读有关mysql事务的文章,我的印象是您必须使用mysqli或PDO才能创建事务。但是,我在整个堆栈交换和其他站点示例中都看到了这样使用mysql扩展的示例:mysql_query("STARTTRANSACTION");$rollback=0if(!mysql_query($query1)){$rollback=1}if(!mysql_query($query2)){$rollback=1}if(!mysql_query($query3)){$rollback=1}if($rollback==1){mysql_query("ROLLBACK");}else{mysql_que