Parse error: syntax error, unexpected '"'

Status
Niet open voor verdere reacties.

siemonvb

Nieuwe gebruiker
Lid geworden
8 dec 2011
Berichten
2
Bij volgend stukje code krijg ik steeds de foutmelding

"Parse error: syntax error, unexpected '"' in C:\wamp\www\Site\passport.php on line 61"

while($dd = mysql_fetch_array($beerdrunk))
{
mysql_query("INSERT INTO passport_user".$userident." (id, name, brewery, type, alcohol_level, origin, temperature, your_rating, overall_rating)
VALUES ('".$dd['id']."','".$dd['name']."','".$dd['brewery']."','".$dd['type']."','".$dd['alcohol_level']."','".$dd['origin']."','".$dd['temperature']."','".$rr['your_rating']."','".$dd['overall_rating']."')") or die (mysql_error()) ;
}

De foutmelding betreft de lijn waar de values staan, maar na lang zoeken vind ik nog steeds geen verklaring...
 
'k heb nu 5 keer de query doorgekeken, maar daar zit geen fout in....
kun je met print_r de waarde van $dd afdrukken:
PHP:
echo '<pre>';
print_r($dd);
echo '</pre>';

wellicht kun je ook de structuur van de tabel posten als blijkt dat de waarden van $dd normaal zijn (en dus geen tekens als " / ' bevat)

Gegroet,
Jeffrey
 
ik weet aleen dat er in line 61 een '"' teveel zit of op de verkeerde plek
 
Probeer dit eens.....

PHP:
while($dd = mysql_fetch_array($beerdrunk))
{
mysql_query('INSERT INTO passport_user' . mysql_real_escape_string( $userident ) . ' (id, name, brewery, type, alcohol_level, origin, temperature, your_rating, overall_rating)
VALUES (
		' . mysql_real_escape_string( $dd['id'] ) . ',
		"' . mysql_real_escape_string( $dd['name'] ) . '",
		"' . mysql_real_escape_string( $dd['brewery'] ) . '",
		"' . mysql_real_escape_string( $dd['type'] ) . '",
		"' . mysql_real_escape_string( $dd['alcohol_level'] ) . '",
		"' . mysql_real_escape_string( $dd['origin'] ) . '",
		"' . mysql_real_escape_string( $dd['temperature'] ) . '",
		"' . mysql_real_escape_string( $rr['your_rating'] ) . '",
		"' . mysql_real_escape_string( $dd['overall_rating'] ) . '
")') or die (mysql_error()) ;
}

Gegroet,
Jeffrey
 
Ik ken MySQL niet maar als ik er zo naar kijk zit het probleem al voor die regel 61 en wel bij .$userident."
Daar begint een " teken die nergens wordt afgesloten.
Hij klaagt dan over regel 61 omdat de eerstvolgende " die hij tegenkomt niet op die plek wordt verwacht.
Ik kan totaal mis zitten maar daar zou ik eens naar kijken en .$userident." wijzigen in .$userident.
 
Laatst bewerkt:
Ik ken MySQL niet maar als ik er zo naar kijk zit het probleem al voor die regel 61 en wel bij .$userident."
Daar begint een " teken die nergens wordt afgesloten.
Hij klaagt dan over regel 61 omdat de eerstvolgende " die hij tegenkomt niet op die plek wordt verwacht.
Ik kan totaal mis zitten maar daar zou ik eens naar kijken.

PHP:
mysql_query("INSERT INTO passport_user".$userident." (id, name, brewery
voor de INSERT wordt de " geopend.
Voor $userident wordt de " weer gesloten, zodat de string geprint kan worden.
Dan wordt " na $userident weer geopend (welke helemaal aan het einde wordt gesloten...).
Daar zit de fout dus niet...
'k heb zo het vermoeden dat een van de $dd's een " bevat... met m'n code in 2 posts hierboven zou dat opgelost moeten zijn :)

Greetz,
Jeffrey
 
Ik kan je alleen maar geloven :d
 
Ik denk dat je gelijk hebt als je bedoeld dat hij op deze plek wordt afgesloten: ") or die

@TS:
Dan hoef je je niks van mijn opmerking aan te trekken.
 
Laatst bewerkt:
Maak van je query eerst eens een string:
echo $query = "INSERT INTO passport_user".$userident." (id, name, brewery, type, alcohol_level, origin, temperature, your_rating, overall_rating)
VALUES ('".$dd['id']."','".$dd['name']."','".$dd['brewery']."','".$dd['type']."','".$dd['alcohol_level']."','".$dd['origin']."','".$dd['temperature']."','".$rr['your_rating']."','".$dd['overall_rating']."')";
mysql_query($query) or die (mysql_error()) ;

en doe een echo van je query. Dan kun je zie hoe de query opgebouwd word!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan