I have php code that uses general queries but I want to convert it to a prepared statement. I keep receiving errors when trying to create an array with the prepared queries.
Here is the array that was created with a general query that works perfectly.
public function tickets () {
$this->db_connection = new mysqli('', '', '', '');
$sql = "SELECT * FROM tickets WHERE member_id = '1'";
$query = $this->db_connection->query($sql);
$me2 = array();
while ($row = $query->fetch_object()) {
$me2[$row->ticket_id]['ticket_result'] = $row->ticket_result;
$me2[$row->ticket_id]['member_id'] = $row->member_id;
}
return $me2;
}
This is the new code I tried changing into a prepared statement that doesn't work. When I try echoing with a foreach loop a var_dump returns "NULL" values.
public function tickets() {
$this->db_connection = new mysqli('', '', '', '');
$sql = "SELECT * FROM tickets
WHERE member_id = ? ";
$stmt = $this->db_connection->prepare($sql);
$id = "1";
$stmt->bind_param('i', $id);
$stmt->execute();
$stmt->store_result();
$me2 = array();
while ($row = $stmt->fetch()) {
$me2[$row->ticket_id]['ticket_result'] = $row->ticket_result;
$me2[$row->ticket_id]['member_id'] = $row->member_id;
}
return $me2;
}
Is it necessary to use prepared statements with a query like this since the query doesn't involve any user input?