Эти опции четко упоминаются в spark docs : --driver-class-path postgresql-9.4.1207.jar --jars postgresql-9.4.1207.jar
Ошибка, которую я делал, упоминала эти параметры после баннера моего приложения.
Однако правильный способ заключается в том, чтобы указать эти параметры сразу после spark-submit:
spark-submit --driver-class-path /somepath/project/mysql-connector-java-5.1.30-bin.jar --jars /somepath/project/mysql-connector-java-5.1.30-bin.jar --class com.package.MyClass target/scala-2.11/project_2.11-1.0.jar
Вы уверены, что он возвращает строки? $stmt->fetchColumn()
- правильный способ получить одно значение, поэтому либо вы, вероятно, не привязывали параметр: user, либо просто не возвращали строки.
$sql='SELECT some_col_name FROM table_name WHERE user=?';
$sth=$pdo_dbh->prepare($sql);
$data=array($user);
$sth->execute($data);
$result=$sth->fetchColumn();
Вы можете использовать это:
$stmt->fetch(PDO::FETCH_COLUMN, $number_of_column);
Я не уверен, почему так много людей испортили это:
$stmt = $dbh->prepare("SELECT `column` FROM `table` WHERE `where`=:where");
$stmt->bindValue(':where', $MyWhere);
$stmt->execute();
$SingleVar = $stmt->fetchColumn();
Убедитесь, что вы выбрали конкретный column
в запросе, а не *
, или вам нужно будет укажите номер заказа столбца в fetchColumn()
, например: $stmt->fetchColumn(2);
Это обычно не очень хорошая идея, потому что столбцы в базе данных могут быть реорганизованы кем-то ...
Это будет работать только правильно с unique 'wheres'
; fetchColumn()
не вернет массив.
Вы уже подготовили заявление? (До $stmt->execute()
)
$stmt = $db->prepare("SELECT some_col_name FROM table_name WHERE user=:user");