Php 如何使用Cassandra PDO获取值?
我正在为使用ApacheCassandra的应用程序使用一个PHP 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
$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的语法。执行以下操作:
$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));