Fonction de fonctions PHP

nono555 -  
 nono555 -
Bonjour,

Je débute en php et j'ai saisi le code pour les fonctions suivantes :

<?php

function db_error_display($err_msg, $link)
{
global $lang;
global $db_string_lang;
printf($err_msg);
if ($link) {
printf($db_string_lang['ERROR_DB'][$lang] . "%d %s", mysql_errno($link), mysql_error($link));
}
}

function db_connect($DSN)
{
global $lang;
global $db_string_lang;
if (!($link = mysql_connect($DSN['hostname'],$DSN['username'],$DSN['password']))) {
db_error_display(sprintf($db_string_lang['ERROR_DB_CONNECT'][$lang], $DSN['hostname'],$DSN['username']), $link);
exit();
}
return $link;
}

function db_select($DSN, $link)
{
global $lang;
global $db_string_lang;
if (!mysql_select_db($DSN['dbname'], $link)) {
db_error_display(sprintf($db_string_lang['ERROR_DB_SELECT'][$lang], $DSN['dbname']), $link);
exit();
}
}

function db_disconnect($link)
{
global $lang;
global $db_string_lang;
if (!mysql_close($link)){
db_error_display(sprintf($db_string_lang['ERROR_DB_DISCONNECT'][$lang], $DSN['hostname']), $link);
exit();
}
}

function db_query($link, $query)
{
global $lang;
global $db_string_lang;
if (!($result = mysql_query($query, $link))) {
db_error_display(sprintf($db_string_lang['ERROR_DB_QUERY'][$lang], $query), $link);
exit();
}
return $result;
}

function db_doquery($DSN, $query)
{
$link = db_connect($DSN);
db_select($DSN, $link);
db_query($link, $query);
db_disconnect($link);
}


?>

Mon problème est que toutes les fonctions s'éxècute très bien sauf la dernière qui reprend l'ensemble des fonctions précédentes. En effet, la fonction doquery devrait me retourner la même chose qu'en lançant les fonctions précédentes mais elle ne me retourne rien.

Quelqu'un voit-il un problème dans le code ?

Merci d'avance.
A voir également:

2 réponses

JooS Messages postés 2705 Statut Membre 228
 
Salut !
Comment est ce que tu sais qu'elle ne retourne rien ?!

function db_doquery($DSN, $query) 
{ 
$link = db_connect($DSN); 
db_select($DSN, $link); 

$var = db_query($link, $query); 
var_dump($var);

db_disconnect($link); 
}


Teste ceci !
0
nono555
 
Salut,

Je sais qu'elle ne retourne rien car j'ai testé un programme en appelant les fonctions une à une et ça fonctionnait et une fois avec la fonction "doquery" et il ne retourne rien.

Voilà.

Je vais tester ta solution.

Merci.
0