Page 1 sur 1

Phpmyadmin

Posté : 24 janv. 2006, 11:47
par sacco
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

Posté : 24 janv. 2006, 11:48
par jeff
salut
quel est le message d'erreur precis

Posté : 24 janv. 2006, 12:25
par sacco
Question bête car je début mais dans le scritphp faut-il déclarer toutes les class mysql et comment???

Posté : 24 janv. 2006, 12:29
par charabia
Montres nous ton code et l'erreur que tu as.

Posté : 24 janv. 2006, 12:32
par sacco
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>
		
	

Posté : 24 janv. 2006, 12:35
par jeff
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

Posté : 24 janv. 2006, 12:45
par sacco
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

Posté : 24 janv. 2006, 19:09
par Cyrano
Il faudrait à tout le moins faire un include de ta classe si.

Posté : 25 janv. 2006, 07:23
par sacco
un include de la class si??

Peux-tu me montret la syntaxe

merci d'avance

Posté : 25 janv. 2006, 09:53
par jeff
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

Posté : 25 janv. 2006, 10:53
par Invité
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.

Posté : 25 janv. 2006, 12:45
par sacco
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