PDA

Volledige versie bekijken : Array, Row > Print


Terror-web
%Europe/Berlin %452 %2010, 10:51
*** OPGELOST ***

Zoals zovelen hier een PHP-Noob, toch vraag ik niet om een kant en klare oplossing.

Wat ik graag zou willen is de laatste 2 berichten weergeven met max 850 karakters.. Nu krijg ik een fout in de syntax terug. Wat doe ik hier niet goed?

1. Ik maak een connectie
2. Ik pak de gegevens van column
3. Maak een Array
4. Print de gegevens
... niet dus?

Hieronder de code.
<?php
$sqlColumn = new mysql();
$sqlColumn->sql("SELECT * FROM column ORDER BY id DESC LIMIT 2");
$i = 0;
while($row = $sqlColumn->result()){
$ColumnArray['id'][$i] = $row['id'];
$ColumnArray['titel'][$i] = $row['titel'];
$ColumnArray['tekst'][$i] = $row['tekst'];
$i++;
}
?>
<?php print substr($ColumnArray['tekst'][0],0,850) . "....."; ?>
<?php print substr($ColumnArray['tekst'][1],0,850) . "....."; ?>
P)
bij verzenden query is een fout opgetreden!
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'column ORDER BY id DESC LIMIT 2' at line 1
1064

Dauntless
%Europe/Berlin %572 %2010, 13:44
column is een MySQL keyword. Je kan hem escapen met backticks:

SELECT *
FROM `column`
ORDER BY id DESC
LIMIT 2

(Had ergens gelezen dat backticks (´) geen goed idee waren omdat ze enkel voor MySQL werken, maar heb geen idee hoe je hem dan wel moet esapen)

Terror-web
%Europe/Berlin %648 %2010, 15:34
Hey bedankt voor je hulp! Column is inderdaad een MySQL keyword.

Heb geen backticks gebruikt, maar kon gelukkig zonder ingrijpende veranderingen de naam wijzigen.. En jawel, alles werkt nu zoals het hoort.

Zie rep-punten.