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.



<?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!

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.
Je kan geen PHP binnen PHP gebruiken.

Dus probeer dit eens:


<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.
Dank jullie voor de snelle reactie, ben een beginner. Hier kan ik in ieder geval weer verder mee. Thanx!!!
- Ariën - op 25/01/2018 21:14:24
Dus probeer dit eens:
<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:
<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)
Dank voor je reactie. Dat ga ik vanavond eens proberen !
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.
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 :).
De oplossing was eigenlijk niet zo moeilijk meer na jullie hulp :)

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>"; 


Voor het gemak zou ik wel $id buiten quotes halen.

Persoonlijk zou ik de HTML buiten PHP houden.
Ga ik proberen aan te passen.. Thanx Ariën !!

Reageren