Php 如何使用Cassandra PDO获取值?

Php 如何使用Cassandra PDO获取值?,php,pdo,cassandra,cql3,Php,Pdo,Cassandra,Cql3,我正在为使用ApacheCassandra的应用程序使用一个PHP PDO驱动程序,我无法获取所需的信息。有什么明显的问题吗 $db = new PDO('cassandra:host=localhost;port=9160'); $db->exec("USE project"); $st = $db->prepare("SELECT fname FROM users WHERE email=:em;"); $st->bindValue(':em', 'email1@gmail

我正在为使用ApacheCassandra的应用程序使用一个PHP PDO驱动程序,我无法获取所需的信息。有什么明显的问题吗

$db = new PDO('cassandra:host=localhost;port=9160');
$db->exec("USE project");
$st = $db->prepare("SELECT fname FROM users WHERE email=:em;");
$st->bindValue(':em', 'email1@gmail.com', PDO::PARAM_STR);
$st->execute();
print_r($st->fetch(PDO::FETCH_ASSOC));

窗户上什么也没印。表用户是以电子邮件列作为主键创建的。在我的应用程序中,我在用户表中插入和更新信息时没有遇到任何问题,但仍然无法找出如何成功获取单个值。类似地,当我使用一些查询fetchAll()时,我可以将数组(行)打印到屏幕上,但不能对它们进行索引以获取特定的值。也许我遗漏了一些关于卡桑德拉的细节?

我也有类似的问题。我用的是Yacassandrappo。不幸的是,当与PHP5.4一起使用时,我得到了错误502。决定编写他或她的库,允许使用Cassandra二进制协议而不会遇到类似问题

将来,我打算加快速度

也许吧。类似PDO的语法。

执行以下操作:

  • 检查每个方法的返回值
  • 执行语句后检查是否有错误
  • 检查php解释器的错误日志
  • $db=newpdo('cassandra:host=localhost;port=9160');
    $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
    $db->exec(“使用项目”);
    $st=$db->prepare(“从电子邮件=:em;”的用户中选择fname;”;
    如果($st==false){
    打印($db->errorInfo())
    出口
    }
    如果($st->bindValue(':em','email1@gmail.com,PDO::PARAM_STR)==false){
    打印($db->errorInfo())
    出口
    }
    如果($st->execute()==false){
    打印($db->errorInfo())
    出口
    }
    打印($st->fetch(PDO::fetch_ASSOC));