Php 在Redis中使用REDISQL从表中选择数据

Php 在Redis中使用REDISQL从表中选择数据,php,sql,redis,Php,Sql,Redis,我已经成功地在Ubuntu 16.04.6中安装了Redis 以下是在redis中设置和获取值的演示代码 <?php //Connecting to Redis server on localhost $redis = new Redis(); $redis->connect('127.0.0.1', 6379); //set the data in redis string $redis->set("tutorial-name",

我已经成功地在Ubuntu 16.04.6中安装了Redis

以下是在redis中设置和获取值的演示代码

<?php 
    //Connecting to Redis server on localhost 
    $redis = new Redis(); 
    $redis->connect('127.0.0.1', 6379); 
   //set the data in redis string 
   $redis->set("tutorial-name", "Redis tutorial"); 
  // Get the stored data and print it 
  echo "Stored string in redis:: " .$redis->get("tutorial-name");
?>
# redis-cli -p 6379
127.0.0.1:6379>  REDISQL.EXEC DB "SELECT * FROM foo;"
1) 1) (integer) 3
2) "bar"
现在我想用SQL在redis中存储一些值,所以我用RedisSQL配置了redis,它可以正确地配置,并且可以在命令行中正常工作

我已经创建了一个DB,并插入了一条测试记录

以下是Redis中SQL select查询的输出

<?php 
    //Connecting to Redis server on localhost 
    $redis = new Redis(); 
    $redis->connect('127.0.0.1', 6379); 
   //set the data in redis string 
   $redis->set("tutorial-name", "Redis tutorial"); 
  // Get the stored data and print it 
  echo "Stored string in redis:: " .$redis->get("tutorial-name");
?>
# redis-cli -p 6379
127.0.0.1:6379>  REDISQL.EXEC DB "SELECT * FROM foo;"
1) 1) (integer) 3
2) "bar"
现在,我想尝试在PHP脚本中获得相同的查询结果,因此我搜索了它,并找到了类似使用rawcommand在redis中获得命令输出的方法,因此我尝试使用与下面相同的命令

# php redis.php 
Stored string in redis:: Redis tutorial
<?php 
    //Connecting to Redis server on localhost 
    $redis = new Redis(); 
    $redis->connect('127.0.0.1', 6379); 
    $result = $redis->rawCommand('REDISQL.EXEC', 'foo', 'SELECT * FROM foo;');
    echo "Foo table Data:";
    print_r($result);
?>
那么,有谁能指导我使用rawCommand或任何其他命令获得SQL查询的正确结果呢


提前感谢。

请尝试用双引号引用select语句

$result = $redis->rawCommand("REDISQL.EXEC", "foo", "SELECT * FROM foo");

这是php、sql还是redis的问题?您需要什么样的帮助?php中的问题,在redis中,它可以使用命令行正常工作,但在php脚本中,使用redis没有sql查询的响应。我明白了。我的php知识很少,所以我不能帮你。@jarlh,好的,没问题,谢谢你有兴趣解决我的问题。你是如何解决的?