Connexion à base de données HFSQL en PHP PDO PHP


Aperçu

Apercu du snippet

Description

Code

Pour ceux qui utilisent Windev, il peut être intéressant de se connecter à la base de données HFSQL via PHP afin de récupérer les informations des tables.
Le driver HFSQL doit cependant être installée sur la machine qui hébergent le site Web afin de pouvoir s'y connecter.

Lorsque j'avais voulu trouver la syntaxe exacte de connexion en PHP PDO, j'étais tombé sur plusieurs codes différents. Je partage donc celui que j'utilise pour récupérer les informations.
Il faut utiliser ODBC, plus d'informations sur la page d'aide PHP : Introduction à ODBC.


Statistiques

Ajouté par Nazario
le 11/06/2018 à 13h26
33
lignes de code
693
vues

6 votes


Code PHP

<?php

// Indiquer les informations du serveur dans la variable ci-dessous (IP, Port, Base, Login et Mot de passe)
$dsn="DRIVER={HFSQL};Server Name=777.77.77.777;Server Port=4900;Database=BASE;UID=LOGIN;PWD=MOTDEPASSE;";
// On se connecte au serveur à l'aide du groupe de fonctions ODBC
$conn = odbc_connect($dsn, '', '');

// On indique notre requête
$sqlt = 'SELECT colonne FROM table';

// Si la connexion n'a pas été effectuée
if(!$conn) {
	// On quitte en affichant le message d'erreur d'accès à la connexion
	exit(odbc_errormsg());
}
// Sinon, on continue
else {

	// On lance la requête
	$rest = odbc_do($conn,$sqlt);

	// On boucle sur tous les résultats de notre requête
	while($data = odbc_fetch_object($rest)) {
		// On vérifie que notre colonne contient des informations
		if(isset($data->colonne)) {
			// Si c'est le cas, on affiche la colonne
			echo $data->colonne.'<br>';
		}
	}
}
?>

3 commentaires

Alladin

27/09/2018 14h05

Invité

Merci beaucoup! C'est très utile :)
Kriss

17/01/2019 09h19

Invité

Merci beaucoup,

Par tout hasard sauriez-vous pourquoi lors du odbc_fetch_object, odbc_fetch_array, ou odbc_fetch_row peut importe,
les champs de type 'date', 'entier', 'décimaux' renvoient bien la valeur voulue alors que les champs de type 'texte' renvoient 'NULL'?

Cordialement


Kriss

17/01/2019 11h24

Invité

C'est OK juste une conversion Unicode en Varchar, désolé pour le dérangement.

CAST(MonChamp AS VARCHAR(50))