<?php $mysqli = new mysqli('localhost', 'root', '', 'test1'); if(mysqli_connect_errno()) { throw new Exception(mysqli_connect_error()); } $stmt = $mysqli->prepare("SELECT * FROM TEST WHERE id=? AND name=?"); $stmt->bind_param('is', $id, $name); $id = 1; $name = 'imie'; $stmt->execute(); $stmt->bind_result($id, $first_name, $last_name); while ($data = $stmt->fetch()) { } ?>
Wyskakuje mi błąd:
Fatal error: Call to a member function bind_param() on a non-object in C:\wamp\www\eOOP\mysqli.php on line 10
(w linii z bind_param)
Kiedy daje w zapytanie jedną zmienną to wszystko jest ok:
<?php ... $stmt = $mysqli->prepare("SELECT * FROM TEST WHERE id=?"); $stmt->bind_param('i', $id); $id = 1; $stmt->execute(); ... ?>
bind_param z dwoma zmiennymi chyba piszę dobrze bo w manualu jest taki przykład:
<?php $stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)"); $stmt->bind_param('sssd', $code, $language, $official, $percent); $code = 'DEU'; $language = 'Bavarian'; $official = "F"; $percent = 11.2; ?>
Gdzie robię błąd?