Problemen met aanhalingstekens in een echo regel
Het heeft te maken met aanhalingstekens in een echo regel.
Code (php)
1
2
3
4
2
3
4
<?php echo '<td class="td-1" align="center">
<a href="strip-edit.php?id=<?php echo $result["id"]; ?>[bewerk] -- </a>
<a href="strip-delete.php?id=<?php echo $result["id"]; ?>[verwijder]</a>
</td>'; ?>
<a href="strip-edit.php?id=<?php echo $result["id"]; ?>[bewerk] -- </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.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 25/01/2018 21:12:22 door - Ariën -
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.
Dus probeer dit eens:
Code (php)
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:
Vergeet ook niet de sluitingsquotes (") voor de hyperlink, en de sluitingshaak (>) van de <a>. (en de punt-komma na de  ).
Het zou dus zoiets moeten zijn:
Code (php)
(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 :).
Gewijzigd op 27/01/2018 16:20:52 door Thomas van den Heuvel
Code (php)
1
2
3
4
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'> [verwijder]</a>
</td>";
<a href='strip-edit.php?id=$id'>[bewerk] |</a>
<a href='strip-delete.php?id=$id'> [verwijder]</a>
</td>";
Gewijzigd op 29/01/2018 19:49:33 door Klaas Buskes
Persoonlijk zou ik de HTML buiten PHP houden.
Ga ik proberen aan te passen.. Thanx Ariën !!
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.