Problemen met aanhalingstekens in een echo regel

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Klaas Buskes

Klaas Buskes

25/01/2018 21:09:20
Quote Anchor link
Ik zit met een probleem, waar ik maar niet uit kom. Waarschijnlijk iets doms, maar het is niet anders.
Het heeft te maken met aanhalingstekens in een echo regel.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php echo '<td class="td-1" align="center">
<a href="strip-edit.php?id=<?php echo $result["id"]; ?>[bewerk] --&nbsp</a>
<a href="strip-delete.php?id=<?php echo $result["id"]; ?>[verwijder]</a>
</td>'
; ?>


Wie kan me helpen? Krijg steeds een fout:

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '

Alvast dank!

Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 25/01/2018 21:12:22 door - Ariën -
 
PHP hulp

PHP hulp

28/03/2024 15:46:40
 
Ben van Velzen

Ben van Velzen

25/01/2018 21:12:05
Quote Anchor link
Het heeft te maken met het feit dat je 2 stijlen probeert te mengen. Echo geen hele lappen HTML code, en je probleem lost zichzelf op doordat je elke keer nog een extra PHP context probeert te openen.
 
- Ariën  -
Beheerder

- Ariën -

25/01/2018 21:14:24
Quote Anchor link
Je kan geen PHP binnen PHP gebruiken.

Dus probeer dit eens:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<td class="td-1" align="center">
<a href="strip-edit.php?id=<?php echo $result["id"]; ?>[bewerk] --&nbsp</a>
<a href="strip-delete.php?id=<?php echo $result["id"]; ?>[verwijder]</a>
</td>


Verder komt de error uit je query. Dus daar moet je naar kijken.
Ik heb een vermoeden dat je daar niet aan escaping met mysql(i)_real_escape_string() doet.
 
Klaas Buskes

Klaas Buskes

25/01/2018 21:19:03
Quote Anchor link
Dank jullie voor de snelle reactie, ben een beginner. Hier kan ik in ieder geval weer verder mee. Thanx!!!
 
Thomas van den Heuvel

Thomas van den Heuvel

26/01/2018 01:25:11
Quote Anchor link
- Ariën - op 25/01/2018 21:14:24:
Dus probeer dit eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<td class="td-1" align="center">
<a href="strip-edit.php?id=<?php echo $result["id"]; ?>[bewerk] --&nbsp</a>
<a href="strip-delete.php?id=<?php echo $result["id"]; ?>[verwijder]</a>
</td>

Vergeet ook niet de sluitingsquotes (") voor de hyperlink, en de sluitingshaak (>) van de <a>. (en de punt-komma na de &nbsp).

Het zou dus zoiets moeten zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<td class="td-1" align="center">
<a href="strip-edit.php?id=<?php echo $result["id"] ?>">[bewerk] --&nbsp;</a>
<a href="strip-delete.php?id=<?php echo $result["id"] ?>">[verwijder]</a>
</td>

(overigens is het niet noodzakelijk om na zo'n echo een punt-komma te zetten)
 
Klaas Buskes

Klaas Buskes

26/01/2018 08:14:24
Quote Anchor link
Dank voor je reactie. Dat ga ik vanavond eens proberen !
 
Frank Nietbelangrijk

Frank Nietbelangrijk

27/01/2018 12:52:33
Quote Anchor link
Thomas van den Heuvel op 26/01/2018 01:25:11:
(overigens is het niet noodzakelijk om na zo'n echo een punt-komma te zetten)


Maar wel een goed gebruik. Elders in je code sluit je immers ook elk statement met een ; af.
 
Thomas van den Heuvel

Thomas van den Heuvel

27/01/2018 16:10:33
Quote Anchor link
Frank Nietbelangrijk op 27/01/2018 12:52:33:
Maar wel een goed gebruik. Elders in je code sluit je immers ook elk statement met een ; af.

Vandaar "niet noodzakelijk", het weglaten levert geen fouten op, en is dus als zodanig niet onjuist. Net zoals het niet noodzakelijk is om een PHP script af te sluiten met ?> indien je nog in een PHP-blok zit, maar dat doe ik dan weer wel altijd, dat vind ik dan weer wel een goed gebruik. Een kwestie van persoonlijke voorkeur I suppose.

EDIT: het betrof ook een voorbeeld he, ik bedoel je zou nog verder kunnen gaan: je zou voor textuele keys in array ook uitsluitend single quotes kunnen gebruiken. En kunnen kijken of $result['id'] ook daadwerkelijk numeriek / een positief geheel getal is. En $result['id'] nog kunnen escapen / urlencoden voor de goede orde. Tis maar net hoever je hier mee wilt gaan en/of welke afspraken je hier over hebt gemaakt :).
Gewijzigd op 27/01/2018 16:20:52 door Thomas van den Heuvel
 
Klaas Buskes

Klaas Buskes

29/01/2018 19:46:54
Quote Anchor link
De oplossing was eigenlijk niet zo moeilijk meer na jullie hulp :)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
echo "<td class='td-1' align='center'>
<a href='strip-edit.php?id=$id'>[bewerk] |</a>
<a href='strip-delete.php?id=$id'>&nbsp;[verwijder]</a>
</td>";
Gewijzigd op 29/01/2018 19:49:33 door Klaas Buskes
 
- Ariën  -
Beheerder

- Ariën -

29/01/2018 20:25:20
Quote Anchor link
Voor het gemak zou ik wel $id buiten quotes halen.

Persoonlijk zou ik de HTML buiten PHP houden.
 
Klaas Buskes

Klaas Buskes

29/01/2018 20:27:39
Quote Anchor link
Ga ik proberen aan te passen.. Thanx Ariën !!
 
Thomas van den Heuvel

Thomas van den Heuvel

29/01/2018 22:33:52
Quote Anchor link
Single quotes voor attribuut-waarden in HTML... *brr*

Het is blijkbaar toegestaan, maar zorg dan ook dat het overal consequent wordt toegepast.

@Ariën heeft wel een punt dat het de scheiding tussen HTML en PHP vertroebelt, wat natuurlijk niet echt handig is.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.