J'ai ce morceau de code qui ressemble bien à moi, mais je continue à obtenir l'erreur suivante:
"Parse error: syntax error, unexpected $end in /home/txclanco/public_html/hotmuze/addSong.php on line 21"
Ceci est un script qui prend dans l'entrée d'un formulaire, vérifie les doublons et s'il y a un en double, il ne créera pas de nouvelle ligne mais ajoutera simplement 1 à la ligne 'rating' où le nom de la chanson est la chanson tapée. S'il n'y a pas de doublon, le script ajoutera les données comme une nouvelle ligne. Les types de données sont les suivantes:
- id = A_i/int
- songname = varchar
- artist = varchar
- note = int
Le script est ci-dessous avec les données de MySQL obturées out:
<?
mysql_connect("localhost", "***", "***") or die(mysql_error());
mysql_select_db("***") or die(mysql_error());
$songname = $_POST['songname'];
$artist = $_POST['by'];
$ratenum = 1;
$chkquery = "SELECT * FROM hotmuze WHERE songname='$songname'";
$plusOneQuery = "SELECT * FROM hotmuze WHERE songname='$songname'";
$updateQuery = "UPDATE hotmuze SET rating='$rating2' WHERE songname='$songname'";
$checkdata = mysql_query($chkquery);
$checkrows = mysql_num_rows($checkdata);
if($checkrows==0)
{
$insquery = "INSERT INTO hotmuze (id, songname, artist, rating) VALUES('', '$songname', '$artist', '$ratenum'";
$insdata = mysql_query($insquery);
}
if($checkrows!=0)
{
$plusData = mysql_query($plusOneQuery);
}
if(mysql_num_rows($plusData)!=0)
{
$result = mysql_fetch_assoc($plusData);
$rating = $result['ratng'];
$rating2 = $rating + 1;
mysql_query($updateQuery);
echo "Data Inserted";
}
?>
Ligne 21 étant:
if($checkrows!=0)
{
// The brace is on line 21
$plusData = mysql_query($plusOneQuery);
}
Toutes les idées ce qui pourrait être mal avec le script? Je sais que l'erreur de fin inattendue signifie généralement qu'il n'y a pas d'accolade, mais cette fois, ça va?
Votre erreur actuelle mise à part, votre $ insquery semble être déclaré avec une parenthèse manquante à la fin du SQL. – doppelgreener
Vous avez vraiment besoin de 'mysql_real_escape_string' ces vars avant de les mettre dans la requête :-) – prodigitalson
Votre code analyse juste bien. Avez-vous supprimé l'erreur de syntaxe en supprimant les informations d'identification MySQL? –