我正在使用php的Datastax Cassandra驱动程序,希望能够检查是否查询失败,在数据库中没有找到结果。现在,如果查询失败,日志报告如下
PHP Fatal error: Uncaught exception 'Cassandra\\Exception\\RuntimeException' with message 'No hosts available for the control connection' in /var/www/html/includes/conditions.php:153\nStack trace:\n#0 /var/www/html/includes/conditions.php(153): Cassandra\\DefaultCluster->connect('loop_non_hadoop')\n#1 /var/www/html/index.php(159): check_key('0x851702c16d824...')\n#2 {main}\n thrown in /var/www/html/includes/conditions.php on line 153, referer: http://172.29.195.10:5050/html/index.php
如果查询成功,它将返回预期的数据。下面是函数
function check_key($key){
$cluster = Cassandra::cluster()->build();
//set this to the appropriate keyspace
$keyspace = 'loop_non_hadoop';
$session = $cluster->connect($keyspace);
$query = "SELECT * FROM events WHERE key=$key";
$statement = new Cassandra\SimpleStatement($query);
$results = $session->execute($statement);
if(empty($results)){
return;
}
else {
foreach ($results as $row) {
echo "<tr id='cell'><td>Title</td><td>" . $row['title'] . "</td></tr>";
echo "<tr><td>Location</td><td>" . $row['locationName'] . "</td></tr>";
echo "<tr id='cell'><td>City</td><td>" . $row['city'] . "</td></tr>";
echo "<tr><td>State</td><td>" . $row['state'] . "</td></tr>";
echo "<tr id='cell'><td>Zip</td><td>" . $row['zipcode'] . "</td></tr>";
echo "<tr><td>Address</td><td>" . $row['street'] . "</td></tr>";
echo "<tr id='cell'><td>Description</td><td>" . $row['summary'] . "</td></tr>";
echo "<tr><td>Url</td><td>" . $row['url'] . "</td></tr>";
echo "<tr id='cell'><td>Start</td><td>" . $row['start'] . "</td></tr>";
echo "<tr><td>End</td><td>" . $row['end'] . "</td></tr>";
}
return true;
}
}
根据发布的建议,我最后做了以下几点
function check_key($key){
try{
$cluster = Cassandra::cluster()->build();
//set this to the appropriate keyspace
$keyspace = 'loop_non_hadoop';
$session = $cluster->connect($keyspace);
$query = "SELECT * FROM events WHERE key=$key";
$statement = new Cassandra\SimpleStatement($query);
$results = $session->execute($statement);
foreach ($results as $row) {
echo "<tr id='cell'><td>Title</td><td>" . $row['title'] . "</td></tr>";
echo "<tr><td>Location</td><td>" . $row['locationName'] . "</td></tr>";
echo "<tr id='cell'><td>City</td><td>" . $row['city'] . "</td></tr>";
echo "<tr><td>State</td><td>" . $row['state'] . "</td></tr>";
echo "<tr id='cell'><td>Zip</td><td>" . $row['zipcode'] . "</td></tr>";
echo "<tr><td>Address</td><td>" . $row['street'] . "</td></tr>";
echo "<tr id='cell'><td>Description</td><td>" . $row['summary'] . "</td></tr>";
echo "<tr><td>Url</td><td>" . $row['url'] . "</td></tr>";
echo "<tr id='cell'><td>Start</td><td>" . $row['start'] . "</td></tr>";
echo "<tr><td>End</td><td>" . $row['end'] . "</td></tr>";
}
return true;
}
catch(Exception $e){
//Casandra error
var_dump($e->getMessage());
}
finally {
return;
}
}
谢谢你的建议
使用try catch:
function check_key($key){
try{
$cluster = Cassandra::cluster()->build();
//set this to the appropriate keyspace
$keyspace = 'loop_non_hadoop';
$session = $cluster->connect($keyspace);
$query = "SELECT * FROM events WHERE key=$key";
$statement = new Cassandra\SimpleStatement($query);
$results = $session->execute($statement);
if(empty($results)){
return;
}
else {
foreach ($results as $row) {
echo "<tr id='cell'><td>Title</td><td>" . $row['title'] . "</td></tr>";
echo "<tr><td>Location</td><td>" . $row['locationName'] . "</td></tr>";
echo "<tr id='cell'><td>City</td><td>" . $row['city'] . "</td></tr>";
echo "<tr><td>State</td><td>" . $row['state'] . "</td></tr>";
echo "<tr id='cell'><td>Zip</td><td>" . $row['zipcode'] . "</td></tr>";
echo "<tr><td>Address</td><td>" . $row['street'] . "</td></tr>";
echo "<tr id='cell'><td>Description</td><td>" . $row['summary'] . "</td></tr>";
echo "<tr><td>Url</td><td>" . $row['url'] . "</td></tr>";
echo "<tr id='cell'><td>Start</td><td>" . $row['start'] . "</td></tr>";
echo "<tr><td>End</td><td>" . $row['end'] . "</td></tr>";
}
return true;
}
}catch(\Exception $e){
//Casandra error
var_dump($e->getMessage());
}
}
我试图通过网络驱动程序在“http://www.kayak.co.in/?ispredir=true”中选择入住和退房时间。无法选择任何日期。请帮帮我。
对于ex,当我的chrome放在Compand提示符中时,会给出路径-/applications/google\chrome.app system.setproperty(“webdriver.chrome.driver”,“/applications/google/chrome.app”);WebDriver driver=new ChromeDriver(); driver.get(“http
我正在处理Spring Boot项目,突然遇到应用程序无法加载MySQL jdbc的问题。(我编译了一次这个项目,没有改变任何东西) 这是我的pom.xml: 这是我的application.properties: Logcat: MySQL数据库最初是使用hibernate创建的。这些配置工作正常,但我不确定这里的真正问题是什么 编辑:我删除了。m2文件夹并从一开始安装所有依赖项。
1.1.1. 目录 1.1.2. HTTP 远程驱动(旧版协议) 1.1.1. 目录 HTTP 远程驱动(旧版协议) 通用格式 标准接口 1.1.2. HTTP 远程驱动(旧版协议) HTTP 远程驱动是接入 Homebase 推荐的方式,云对云驱动也使用此协议。 你可以通过 开发者驱动, 或 rhome 命令 来开发和调试 HTTP Driver 开发一个 HTTP 远程驱动你可能需要以下 3
在Eclipse BIRT数据资源管理器中为查询生成器添加JDBC数据库连接: 选择“查询生成器的JDBC数据库连接” 就这样。我可以使用此数据源来使用数据集。 下一个。 我希望使用更灵活的“JDBC数据源”,而不是以前成功使用的“查询生成器的JDBC数据库连接”。哦,我看到MySQL没有驱动程序类-Derby和Sample只有两个默认条目。 似乎JDBC驱动程序的有效注册没有添加(或注册?)司机
我无法运行脚本,并显示消息:驱动程序信息:驱动程序。.
问题内容: 我正在尝试运行一个ruby文件,该文件将使用seleniumwebdriver启动chrome驱动程序。我有selenium独立服务器2.35.0。和chromedriver可执行文件已安装。我正在通过运行服务器来启动 两个会话正在启动,chrome驱动程序无法启动。 这是在我使用以下文件运行文件之后 我对此并不陌生,无法找出问题所在。而且,我也试图让它无头运行,所以我正在运行Xvfb
我正试图在eclipse中运行我的第一个webdriver脚本。使用jre1。8.0_1111. 我使用了下面的代码,但它显示了错误。请帮我查一下密码。 错误堆栈 线程“main”java中出现异常。lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver设置。壁虎。驱动系统属性;有关更多信息,请参阅github。com/mozilla/geckodr