Phpmyadmin

Eléphant du PHP | 180 Messages

24 janv. 2006, 11:47

Bonjour,

j'ai installé la dernière version de wamp tout fonctionne correctement. Lorsque je vais sur phpmyadmin j'accede bien à la base de donnée pour toute manip.

Mais lorsque j'écrit un script en php pour accédé à la base mysql :"class indifinie".

Savez la commande que passe phpmyadmin pour par exemple ce connecter à la base car je présume que lui aussi passe par des script php.

Merci d'avance

Mammouth du PHP | 1311 Messages

24 janv. 2006, 11:48

salut
quel est le message d'erreur precis

Eléphant du PHP | 180 Messages

24 janv. 2006, 12:25

Question bête car je début mais dans le scritphp faut-il déclarer toutes les class mysql et comment???

Avatar du membre
ViPHP
ViPHP | 3008 Messages

24 janv. 2006, 12:29

Montres nous ton code et l'erreur que tu as.

Eléphant du PHP | 180 Messages

24 janv. 2006, 12:32

je n'ai pas de code précis
<html>
<head>
<title>  Mysql avec interface objet </title>
</head>
<body>
	<?php
	
	$db = new mysqli("phppoche2.db");
	echo "res";
	$db-> query("drop table article;"); //supprime la table article
	$db-> query("drop table categorie;"); //supprime la table categorie
	
	// création de la table article
			
	$db-> query("
	CREATE TABLE article (
					CodeArticle char(20) PRIMARY KEY,
					Code Categorie char(20) NOT NULL,
					Nomarticle char(80) NOT NULL,
					Prix double DEFAULT \"0\" NOT NULL,
					Lienfournisseur char(100),
					Photo blob);");
	
	// création de la table catégorie
	
	$db-> query(" 
	CREATED TABLE categorie (
					CodeCategorie char(20) PRIMARY KEY,
					NomCategorie char(40) NOT NULL,
					Image blob);");
	
	//insertion d'enregistrements
	//dans les deux tables 
	
	$db-> query("INSERT INTO categorie ( CodeCategorie ,
	 NomCategorie ) VALUES (\"EQUIPRES\" , \"Equipements réseau\");");
	
	$db-> query ("INSERT INTO categorie( CodeCategorie , 
	 NomCategorie ) VALUES (\"EQUIPPHOTO\",\"Tout pour la photo\");");
	
	$db-> query("INSERT INTO article( CodeArticle , CodeCategorie , 
	Nomarticle , Prix , Lienfournisseur) VALUES (\"MINOLDIM404\",
	\"EQUIPPHOTO\",\"App. Photo numérique Minolta S404\",\"300\",
	\"http://www.minolta.com\");");
	
	$db->query("INSERT INTO article( CodeArticle , CodeCategorie , 
	Nomarticle , Prix , Lienfournisseur) VALUES (\"WRT54G\",\"EQUIRES\",
	\"Routeur WIFI 11G Linksys WRT54G\",\"89\",\"http://www.linksys.com\");");
	
	$db->query("INSERT INTO article( CodeArticle , CodeCategorie , 
	Nomarticle , Prix , Lienfournisseur) VALUES (\"CNLWIGPCMCIA\",\"EQIPRES\",
	\"Carte PCMCIA Sans Fil 11G Connectland\",\"44\",\"http://www.connectland.com\");");
	
	$result = $db -> query("SELECT * FROM article");
	echo '<h1> Les articles de la table </h1>';
	echo '<table border="1">'
	. 'tr'
	. '<th>Code</th><th>Nom </th><th>Prix</th><th>Lien 
	fournisseur</th></tr>';
	
	while ($result -> hasMore()) {
		$ligne = $result->current();
		
		//print_r($ligne);
		
		echo '<tr>'
	.'<td>' . $ligne['CodeArticle'] . '</td>'
	.'<td>' . $ligne['Nomarticle'] . '</td>'
	.'<td>' . $ligne['Prix'] . '</td>'
	.'<td> <a href=' . $ligne['Lienfournisseur'] . '>Lien
	</a></td>';
	echo '<tr>';
	$result->next();
	}
	echo '</table>';
	unset($db);
	?>
	</body>
	</html>
		
	

Mammouth du PHP | 1311 Messages

24 janv. 2006, 12:35

tout d'abord ton constructeur m'etonne
ou sont les parametre de connexion a ta base??
mysqli = new mysqli("localhost", "my_user", "my_password", "world");
http://fr2.php.net/manual/fr/function.m ... onnect.php

et est ce que mysqli est bien installer

Eléphant du PHP | 180 Messages

24 janv. 2006, 12:45

ou en faisnt phpinfo msqli est bien présent. Pour le paramettrage de connect à la base je ferai appel. à un fichier externe et je vais rajouter la commande.

Mais de toute façon il me marque pas une erreur de param manquant mais
"Erreur de débogage: C:\Inetpub\wwwroot\premiere base.php ligne 8 - Class 'mysqli' not found
" et de même pour mysql

ne faut-il pas comme du java indiquer les class à utiliser en début de script

Mammouth du PHP | 19672 Messages

24 janv. 2006, 19:09

Il faudrait à tout le moins faire un include de ta classe si.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 180 Messages

25 janv. 2006, 07:23

un include de la class si??

Peux-tu me montret la syntaxe

merci d'avance

Mammouth du PHP | 1311 Messages

25 janv. 2006, 09:53

pour te debogué le plus simple est de faire a la base un truc qui fonctionne
donc met les bonnes valeur dans le contructeur de mysqli
tu n'a pas besoin d'appeler la class mysqli php le fait pour toi

et fait un appel a mysqli et mysql pour voir si l'une des deux fonctionnes

Installation

Pour installer l'extension mysqli pour PHP, utilisez l'option de configuration --with-mysqli=mysql_config_path où mysql_config_path représente l'endroit où se trouve le programme mysql_config qui accompagne les versions de MySQL supérieures à la 4.1. Désactivez aussi l'extension standard MySQL (qui est activée par défaut) en utilisant aussi l'option de configuration --without-mysql. Si vous voulez installer l'extension standard mysql en même temps que l'extension mysqli, la bibliothèque embarquée libmysql distribuée avec PHP ne peut être utilisée. Utilisez à la place les bibliothèques clientes installées par MySQL avec des versions inférieures à la 4.1. Cela forcera PHP à utiliser les bibliothèques du client installées par MySQL pour éviter les conflits.
http://fr3.php.net/manual/fr/ref.mysqli.php

Invité
Invité n'ayant pas de compte PHPfrance

25 janv. 2006, 10:53

je vais essayé mais tu n'aurais pas un script tout simple qui fonctionne en php d'accès base ou autre pour que je teste.

Eléphant du PHP | 180 Messages

25 janv. 2006, 12:45

rien quand faisant

<?php

$connect = mysqli_connect("localhost","root","");

?>

j'ai Erreur de débogage: PHPDocument1 ligne 3 - Call to undefined function mysqli_connect()

et même erreur avec mysql_connect