De sidste point må næste tilfalde ole. han har fortalt dig hvad problemet er.
Først vil jeg lige citere ole i en af mine tråde. det er en forklaring på den fejl du får:
Kik på fejlens ordlyd, så kan du huske, hvad den betyder næste gang, du møder den. Den siger:
"Du har kaldt en funktion (bind_param), som ligger på et ikke-objekt"
Funktionen bind_param ligger jo normalt som metode på objektet, der udgør vores statement ($stmt->bind_param). Altså har vi ikke noget statement objekt - altså må vores prepare være gået galt. Det er jo den, der skulle oprette vores statement objekt.
Måske, man kunne forestille sig, det kunne skyldes, at linjen (som du ikke viser):
$db = new mysqli(... ... ...);
- var gået galt. Men, så havde du tidligere fået samme fejl - bare med ordlyden:
"Fatal error: Call to a member function query() on a non-object in C:\xampp\htdocs\fun\test.php on line ???"
Funktionen query ligger nemlig som metode på $db, der jo er din objekt instans af klassen mysqli. Kan du se logikken?
Jeg har lige testet, og koden virker fint hos mig. Hvad sker der, hvis du skriver:
$sql = 'SELECT name FROM test LIMIT ?, 1';
$stmt = $db->prepare($sql);
echo $db->error;
exit();
Kilde: http://www.eksperten.dk/spm/965543#reply_7960164 #7Så hvis du indsætter:
echo $mysqli->error;
exit();
Får du følgende fejl:
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 '�b FROM udgifter WHERE gruppe=? ORDER BY
Som du kan se er der et tegn og ikke et ø. hvis du i koden og i tabellen skifter ø ud med et o, så virker det.
Så som ole sagde er ø ikke anvendelig i denne situation, og generelt skal man holde sig fra æøå.
Jeg er ikke ekspert, men jeg kan forstille mig at det skyldes at databasen er engelsk sproget, hvis man skal bruge ikke engelske tegn, så skal man nok ud og finde adgang via omveje, og omveje er jo sjældent det bedste at bruge.