首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >你建议如何在没有MySQL连接(解释器)的PHP数组上进行MySQL查询?

你建议如何在没有MySQL连接(解释器)的PHP数组上进行MySQL查询?
EN

Stack Overflow用户
提问于 2012-02-09 17:12:48
回答 2查看 164关注 0票数 0

想法是这样的:

代码语言:javascript
复制
<?php
// table definition as a php array
$array = array(
  array( "code" => 0, "value" => 1 ), // => row1
  array( "code" => 1, "value" => 2 ),// => row2
  array( "code" => 2, "value" => 345 ),// => row3
  array( "code" => 234, "value" => 231 ),// => row4
  array( "code" => 23, "value" => 34 ),// => row5
  array( "code" => 3, "value" => 5465 ),// => row6
  array( "code" => 4, "value" => 34 ) // => row7
);
?>

我需要做的是用PHP数组解释简单的MySQL查询,比如:

代码语言:javascript
复制
SELECT * FROM ($array) WHERE code > 23 AND value = 231

你有什么想法? 1.你知道的工具。2.插件。3. MySQL解析器。4.最佳方式。

EN

回答 2

Stack Overflow用户

发布于 2012-02-09 17:18:47

没有MySQL解释器这回事。PHP MySQL扩展连接到一个完全独立于PHP的数据库。SQL是在那里处理的,而不是在PHP内部- PHP扩展只是将它从您的代码传输到数据库,并返回结果和状态。

你可能想看看PHP扩展SQLite,它做了类似的工作,并在你的网站空间中的一个文件上工作。对于许多工作,它可以用作小型数据集的MySQL的替代品-因为您的数据集是用PHP代码编写的,所以它肯定是小的。

SQLite与大多数PHP安装捆绑在一起。

编辑

在阅读之后,您想要使用它来进行MySQL查询缓存,请先阅读MySQL的查询缓存。它透明地做你想要的事情。

如果这对您不起作用,您可能需要检查您的业务逻辑:很可能,您希望缓存过时的结果集。如果这只是MySQL查询缓存失败的绝佳情况(它们确实存在),那么您可能只需要生成SQL的散列,并使用memcached或数组将SQL散列与结果集连接起来-不需要解析SQL。

票数 3
EN

Stack Overflow用户

发布于 2012-02-09 17:17:29

我有一个想法,将SQL语法附加到数组访问是很奇怪的。

PHP数组中的这种“缓存”没有任何意义。

如果您的数据仅限于这么少的行数,那么缓存就没有任何意义。

否则你的缓存会使服务器崩溃。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9208018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档