Problème mysql >> Fin php

ARTICHO
Invité n'ayant pas de compte PHPfrance

21 oct. 2006, 23:05

Voila je ne sias pas pourquoi mais j'ai ce message d'erreur me disant de me reporter à la derniere ligne de mon .php, pourquoi jai ce problème voici mon code et le message :
<?php
ob_start();
if(!empty($_POST['titre'])&&!empty($_POST['auteur'])
&&!empty($_POST['texte'])&&!empty($_POST['date']) )
{

   $db=mysql_connect("localhost","bevat.online","**********");
   mysql_select_db("pw_news",$db);
   $sql="INSERT INTO 'news' (titre, auteur, date, texte)
   VALUES='('".$_POST['titre']."', '".$_POST['auteur']."',
    '".$_POST['date']."', '".$_POST['texte']."')';
   $result=mysql_query($sql) OR die ('Erreur SQL!<br>.mysql_error());
header('Location: visualisation.php');
}
ob_end_flush();?>
Parse error: syntax error, unexpected $end in /mnt/135/sdc/b/6/bevat.online/bevat1.5/ajout.php on line 17

ARTICHO
Invité n'ayant pas de compte PHPfrance

21 oct. 2006, 23:10

Merci de me répondre dans les plus bref delais, c'est mon premier jour de php , soyez indulgent svp!!

Meci bon dimanche, articho (dsl pour le double post

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

21 oct. 2006, 23:17

Modération :
Merci d'utiliser la balise
 pour présenter tes extraits de code
et ne laisse pas tes mots de passe en clair sur le forum.

J'ai édité ton message.[/color]

ARTICHO
Invité n'ayant pas de compte PHPfrance

21 oct. 2006, 23:21

Merci, débutant et imprudent..... :oops: :oops:

tu ne sais cependant paspourquoi j'obitens ce message d'erreur??

Merci d'avance ARTICHO

ViPHP
ViPHP | 1961 Messages

21 oct. 2006, 23:22

Bonsoir,

PTT un petit souci ici ???
INSERT INTO 'news'
et,
.$_POST['texte']."')';
et pourquoi pas là ?
'Erreur SQL!<br>.mysql_error()
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

21 oct. 2006, 23:46

Merci de me répondre dans les plus bref delais
Ah l'autre hé :-s

On est tous un peu bénévole ici => réponse tu auras quand une personne voudra :wink:

Ajoloca t'a mis sur la voie .... regarde la coloration syntaxique de ton code.

Tu as aussi un "VALUES=" qui ne signifie pas grand chose... pas besoin de "=".

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ARTICHO
Invité n'ayant pas de compte PHPfrance

22 oct. 2006, 09:23

Merci cette page a été corrigé, reste le travail des autres....... :( :(

Sinon, j'aimerai si le coeur vous en dit que vous m'indiquiez une eventuelle erreur dans ce code
<?php
   $db=mysql_connect("localhost","bevat.online","*********");
   mysql_select_db("pw_news",$db);
   $sql="SELECT * FROM 'news' ORDER BY 'id' DESC";
   $result=mysql_query($sql) OR die ('Erreur SQL! br>.mysql_error());
   while ($data=mysql_fetch-array($result))
{?>
<table border"1">
<tr><td><?=$data['titre'] ?>, écrit par <?=$data['auteur']?> le 

<?=$data['date']?></td></tr>
<tr><td><?=$data['texte']?></td></tr>
</table>
<br>
<?php}?>
   
   

Code : Tout sélectionner

Parse error: syntax error, unexpected T_STRING in /mnt/135/sdc/b/6/bevat.online/bevat1.5/visualisation.php on line 9


Merci d'avance et désolé pour me requete si désobligente :oops: :oops:

Bon dimanche, ARTICHO

Mammouth du PHP | 19672 Messages

22 oct. 2006, 09:31

Ce n'est pas une mais 3 erreurs que j'ai relevé :
- une apostrophe manquante,
- un début de balise absent,
- une fonction inexistante avec un "-" au lieu d'un "_",
J'ajoute que l'utilisation des "short-open-tag" n'est pas une bonne idée, si cette option est désactivée chez ton hébergeur, tu vas avoir des surprises désagréables.

Proposition de corrigé :
<?php
$db     = mysql_connect("localhost","bevat.online","*********");
mysql_select_db("pw_news",$db);
$sql    = "SELECT * FROM 'news' ORDER BY 'id' DESC";
$result = mysql_query($sql) OR die ('Erreur SQL! <br>'. mysql_error());
while ($data = mysql_fetch_array($result))
{
?>
<table border"1">
  <tr>
    <td><?php echo($data['titre']); ?>, écrit par <?php echo($data['auteur']); ?> le <?php echo($data['date']); ?></td>
  </tr>
  <tr>
    <td><?php echo($data['texte']); ?></td>
  </tr>
</table>
<br>
<?php
}
?>
Et on masque ses mots de passe quand on poste !
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ARTICHO
Invité n'ayant pas de compte PHPfrance

22 oct. 2006, 13:24

Merci beaucoup beaucoup, pour le mdp, je sui distrait... :oops:

Sinon avec ce code j'obtiens ce message d'erreur :

Code : Tout sélectionner

Erreur SQL! 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 ''news' ORDER BY 'id' DESC' at line 1
Voila, pour le truc qui n'est peut etre pas admis chez mon hebergeur je n'ai pas compris... :oops: quelle pourrai etre l'alternative??

Merci d'avance, bone aprem, ARTICHO

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

22 oct. 2006, 15:23

L'erreur est due aux apostrophes autour des champs "news" et "id"
Tu peux utiliser la quote inversée pour protéger des mots réservés => ` Alt Gr + 7
Mais dans ce cas tu n'as pas besoin de protéger ces champs puisqu'il ne s'agit pas de mots réservés.
$sql    = "SELECT * FROM news ORDER BY id DESC";

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ARTICHO
Invité n'ayant pas de compte PHPfrance

23 oct. 2006, 09:24

Bonjour,
meric tout d'abord pour toutes vos réponses exactes je dois l'admettre !! :)

Voila mon systeme de news fonctionne toujours pas. Cependant je ne pense pas qu'il y est de fautes dans ce code:
<?php
ob_start();
if(!empty($_POST['titre'])&&!empty($_POST['auteur'])
&&!empty($_POST['texte'])&&!empty($_POST['date']) )
{

   $db=mysql_connect("localhost","bevat.online","*********");
   mysql_select_db("pw_news",$db);
   $sql="INSERT INTO 'news' (titre, auteur, date, texte)
   VALUES('".$_POST['titre']."', '".$_POST['auteur']."',
    '".$_POST['date']."', '".$_POST['texte']."')";        
   $result=mysql_query($sql) OR die ('Erreur SQL!<br>.mysql_error()');


header('Location: visualisation.php');
}
ob_end_flush(); ?>
Voila merci d'avance, ARTICHO

ViPHP
ViPHP | 1961 Messages

23 oct. 2006, 09:30

Bonjour,
PTT un petit souci ici ???
PHP:
INSERT INTO 'news'
L'erreur est due aux apostrophes autour des champs "news" et "id"
Tu peux utiliser la quote inversée pour protéger des mots réservés => ` Alt Gr + 7
Mais dans ce cas tu n'as pas besoin de protéger ces champs puisqu'il ne s'agit pas de mots réservés.
PHP:
$sql = "SELECT * FROM news ORDER BY id DESC";
Tu devrais lire plus attentivement les messages.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein