想法是这样的:
<?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查询,比如:
SELECT * FROM ($array) WHERE code > 23 AND value = 231你有什么想法? 1.你知道的工具。2.插件。3. MySQL解析器。4.最佳方式。
发布于 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。
发布于 2012-02-09 17:17:29
我有一个想法,将SQL语法附加到数组访问是很奇怪的。
PHP数组中的这种“缓存”没有任何意义。
如果您的数据仅限于这么少的行数,那么缓存就没有任何意义。
否则你的缓存会使服务器崩溃。
https://stackoverflow.com/questions/9208018
复制相似问题