Bonjour
je me lance dans le PHP
j'ai fait une page que j'ai enregitre en .php
sur ma page de mon site j'ai mis
j'ai cree une table pour une base de donnees et quand je vais sur mon serveur qui heberge mon site et que je vais
-sur administrateur de MySQL
-Administrateur
-SQL
que je selectionne ma table qui est sur mon disque dur et que j'ai cree avec essyPHP
quand je fais execute
voila le message que j'ai
requête SQL:
-- phpMyAdmin SQL Dump
-- version 2.6.1
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Vendredi 05 Janvier 2007 à 08:40
-- Version du serveur: 4.1.9
-- Version de PHP: 4.3.10
--
-- Base de données: `absalonp`
--
-- --------------------------------------------------------
--
-- Structure de la table `news`
--
CREATE TABLE `news` (
`ip` varchar( 15 ) NOT NULL default '',
`timestamp` int( 11 ) NOT NULL default '0',
KEY `ip` ( `ip` )
) ENGINE = MYISAM DEFAULT CHARSET = latin1
MySQL a répondu:Documentation
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=latin1' at line 23
je ne comprend pas tous cela ne fonctionne pas est ce que l'on peut m'aider SVP
et bonne journee
Patrick
je me lance dans le PHP
j'ai fait une page que j'ai enregitre en .php
<?php
// Connexion à MySQL
mysql_connect("localhost", " ", " ");
mysql_select_db(" ")or die(mysql_error());
// -------
// ETAPE 1 : on vérifie si l'IP se trouve déjà dans la table
// Pour faire ça, on n'a qu'à compter le nombre d'entrées dont le champ "ip" est l'adresse ip du visiteur
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\''.
$_SERVER['REMOTE_ADDR'] . '\'');
$donnees = mysql_fetch_array($retour);
if ($donnees['nbre_entrees'] == 0) // L'ip ne se trouve pas dans la table, on va l'ajouter
{
mysql_query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')');
}
else // L'ip se trouve déjà dans la table, on met juste à jour le timestamp
{
mysql_query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
}
// -------
// ETAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 5 minutes
// On stocke dans une variable le timestamp qu'il était il y a 5 minutes :
$timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes
mysql_query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min);
// -------
// ETAPE 3 : on compte le nombre d'ip stockées dans la table. C'est le nombre de visiteurs connectés
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes');
$donnees = mysql_fetch_array($retour);
// Ouf ! On n'a plus qu'à afficher le nombre de connectés !
echo '<p>Il y a actuellement ' . $donnees['nbre_entrees'] . ' visiteurs connectés sur mon site !'</p>
?>
sur ma page de mon site j'ai mis
<? include('essais.php'); ?>
j'ai cree une table pour une base de donnees et quand je vais sur mon serveur qui heberge mon site et que je vais
-sur administrateur de MySQL
-Administrateur
-SQL
que je selectionne ma table qui est sur mon disque dur et que j'ai cree avec essyPHP
quand je fais execute
voila le message que j'ai
requête SQL:
-- phpMyAdmin SQL Dump
-- version 2.6.1
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Vendredi 05 Janvier 2007 à 08:40
-- Version du serveur: 4.1.9
-- Version de PHP: 4.3.10
--
-- Base de données: `absalonp`
--
-- --------------------------------------------------------
--
-- Structure de la table `news`
--
CREATE TABLE `news` (
`ip` varchar( 15 ) NOT NULL default '',
`timestamp` int( 11 ) NOT NULL default '0',
KEY `ip` ( `ip` )
) ENGINE = MYISAM DEFAULT CHARSET = latin1
MySQL a répondu:Documentation
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=latin1' at line 23
je ne comprend pas tous cela ne fonctionne pas est ce que l'on peut m'aider SVP
et bonne journee
Patrick