gpt4 book ai didi

php - MySQL 和 Memcached - 简单的检索查询不起作用

转载 作者:行者123 更新时间:2023-11-30 23:29:00 24 4
gpt4 key购买 nike

基本上是我第一次使用 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";
}

代码已更新 现在我以某种方式让它输入了 IF 语句,浏览器中显示的是

string(3) "one" 
Data Pulled from the Database
string(3) "one"
o
Data Pulled From Cache

然后这告诉我所有的 var_dumps 工作....它到达 if 语句但是不知何故 $get_result['category_name'] 只输出 o 当它应该输出 one

为什么???

最佳答案

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

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

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

关于php - MySQL 和 Memcached - 简单的检索查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11684191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com