Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL&;Memcached-简单检索查询不工作_Php_Mysql_Memcached - Fatal编程技术网

Php MySQL&;Memcached-简单检索查询不工作

Php MySQL&;Memcached-简单检索查询不工作,php,mysql,memcached,Php,Mysql,Memcached,Basicali是我第一次使用memcached。。。我正在尝试运行一个简单的查询,但由于某些原因无法运行。。。关于memcached的教程不是很好,我不知道为什么不使用我的查询 <?php //connect to memcached server and MySQL $db = new PDO('mysql:host=localhost;dbname=test', 'admin', ''); $memcache = new Memcache; $memcache-&g

Basicali是我第一次使用memcached。。。我正在尝试运行一个简单的查询,但由于某些原因无法运行。。。关于memcached的教程不是很好,我不知道为什么不使用我的查询

    <?php

    //connect to memcached server and MySQL
$db = new PDO('mysql:host=localhost;dbname=test', 'admin', '');
$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211) or die ("Could not connect"); 


 // Run the query and get the data from the database then cache it
 $category_querry = $db->query('SELECT * FROM category WHERE category_id=1');
 $category_querry->setFetchMode(PDO::FETCH_ASSOC);

while($row = $category_querry->fetch()) {

 $memcache->set(1, $row['category_name'], 30); // Store the result of the query for 20 seconds
  var_dump($memcache->get(1));
 echo "</br> Data Pulled from the Database </br>";
}


$get_result = $memcache->get(1);
var_dump($get_result);

if ($get_result) 
    {
echo "</br>" . $get_result['category_name'];
echo "</br>" .  "Data Pulled From Cache";
}
这就告诉我所有的var_转储都可以工作。。。。它到达if语句,但不知何故,
$get_result['category_name']
只在输出
o
时输出
one


为什么?

在设置memcache时,没有定义$key变量

$memcache->set($key, $row, TRUE, 60);

在memcache中设置$key之前,需要先定义$key

I添加了
$key=“从category中选择*,其中category_id=1”在while循环之前。仍然没有在下面输入IF语句。。。有趣的是,当我在while语句中执行
var_dump($row)
时,它返回并返回错误未定义的变量:C:\Program Files(x86)\Zend\Apache2\htdocs\accept\1.php中的var_dump第16行“$var_dump($memcache->set($key));”应该是“var_dump($memcache->set($key));”省略前面的$;但这不是问题…thx robbie。。。现在我不知何故进入了if语句并得到了值。。。但现在输出的不是正确的东西
$memcache->set($key, $row, TRUE, 60);