Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Général Conception Web > Hébergement > 1&1
1&1 Forum de support pour vos questions techniques sur votre hébergement chez 1&1
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/05/2011, 16h58   #1
Invité de passage
 
Homme
Inscription : mai 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mai 2011
Messages : 1
Points : 1
Points : 1
Par défaut Problème de Connexion PHP-SQL

Bonjour,

J'ai créé une base de données bien fournie sur Plesk, ainsi que plusieurs fichiers PHP dans le dossier HTTPDOCS du Gestionnaire de Fichiers.

Le seul problème est que je n'arrive pas à me connecter à la base de données.
Le code est bon:
Code :
$db = mysql_connect($host, $login, $pwd);
avec $host = "s15406118.onlinehome-server.info";
et $login et $pwd les identifiant de l'utilisateur de la base

Il semblerait que ça soit un problème de taille de mot de passe avec MySQL 5.

Le message affiche tout le temps:

Citation:
Warning: mysql_connect() [function.mysql-connect]: Premature end of data (mysqlnd_wireprotocol.c:554) in C:\Program Files (x86)\EasyPHP-5.3.6.0\www\Test_Connexion.php on line 20

Warning: mysql_connect() [function.mysql-connect]: OK packet 1 bytes shorter than expected in ...

Warning: mysql_connect() [function.mysql-connect]: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file in ...

Merci d'avance
Nic0tek est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 20h55   #2
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Si tu as encore ton problème, j'ai codé en PHP une interface qui permet de gérer une base MySQL : on peut lui envoyer n'importe quelle requête SQL et ça affiche la réponse si celle-ci existe, et bien sûr, ça commence par se connecter à la base ; comme j'ai utilisé ce code sur plein de bases MySQL, chez plusieurs hébergeurs, ça représente un bon test. Donc voici le code et garde bien les mêmes noms de fichiers car ils sont utilisés par le code.

requete.html :
Code html :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
 
  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title>annonce</title>
 
 
</head>
<body>
 
<form action="traitrequete.php" method="post">
  <table>
 
    <tbody>
 
      <tr>
 
        <td colspan="2">Texte de
la requ&ecirc;te</td>
 
      </tr>
 
      <tr>
 
        <td colspan="2">
        <textarea name="requete" rows="4" cols="55"></textarea></td>
 
      </tr>
 
    </tbody>
  </table>
 
  <br>
 
  <br>
 
  <center><input name="submit" value="Ex&eacute;cuter" type="submit"></center>
 
</form>
 
</body>
</html>

traitrequete.php :
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
include_once("connect.php");
include_once("config.php");
 
 
$id_conn = connect();
 
 
$sql = stripslashes($_POST['requete']);
 
  $result = mysql_query($sql) or die(mysql_error());
 
  if ($result !== TRUE)
  { 
    while ($ligne = mysql_fetch_array($result, MYSQL_NUM))
    {	
      $i=0;
	  $j = sizeof($ligne);
 
      while ($i <= $j-1)
      {
        echo $ligne[$i++]." "; 
		if (($i-1)==($j-1)) echo "<br>";
      }
    }
  }
 
  free_memory($result);
?>

config.php :
Code php :
1
2
3
4
5
<?php
define("MYHOST","---");
define("MYUSER","---"); 
define("MYPASS","---");
?>

connect.php :
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
define("DBNAME","---");
 ini_set('display_errors', 1);
  ini_set('log_errors', 1);
 
 
 
function error_handler($error_type, $string_error, $file_error, $line_error){
	$date = date('d/m/Y - H:i:s');
	$return_error = $date.": " ;
	switch($error_type){
        case E_USER_ERROR:
            $return_error .= "Erreur fatale : ".$string_error ;
            $return_error .= " Dans le fichier : '".$file_error."', à la ligne ".$line_error." \n" ;
        break;
        case E_USER_WARNING:
            $return_error .= "Avertissement : ".$string_error ;
            $return_error .= " Dans le fichier : '".$file_error."', à la ligne ".$line_error." \n" ;
            break ;
        case E_USER_NOTICE:
            $return_error .= "Note : ".$string_error ;
            $return_error .= " Dans le fichier : '".$file_error."', à la ligne ".$line_error." \n" ;
        break ;
        default:
            $return_error .= "Erreur inconnue [".$error_type."] : ".$string_error ;
            $return_error .= " Dans le fichier : '".$file_error."', à la ligne ".$line_error." \n" ;
        break ;
	}
	error_log($return_error, 3, dirname(__FILE__).'/errors.log');
}
ini_set('mysql.trace_mode', true);
 
function connect()
{
include_once("config.php");
($id_conn=mysql_connect(MYHOST,MYUSER,MYPASS))or trigger_error (mysql_error(), E_USER_ERROR); 
mysql_select_db(DBNAME,$id_conn) or trigger_error (mysql_error(), E_USER_ERROR); 
 
 
return($id_conn);
}
 
function free_memory($res)
{
mysql_free_result($res);
}
 
?>
Il y a donc 4 constantes à renseigner (3 dans config.php et 1 dans connect.php) et l'URL sera http://chemin/requete.html
Good luck !
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h39.


 
 
 
 
Partenaires

Hébergement Web