Сначала убедитесь, что вы понимаете синтаксис подготовленных операторов и рабочую модель.
Как в:
$data = $mysqli->prepare("SELECT amount FROM items WHERE id=(?)");
// THIS ^^ actually "prepares" an object to be used in the statement
$data->bind_param("i",$id)
// ...then you "bind" the parameter for your statement as "i"(nteger)
echo 'forward1';
if(!$data->execute()) // And now you simply run it, with no other args
die("error executing".$data->error);
echo '2';
$row = $data->fetch_object();
die('Loosing my mind'.$row->amount);
Я предлагаю использовать что-то более похожее на
$data->execute() or die("error executing".$data->error);
Основными этапами подготовленного заявления являются:
1. Подготовьте запрос с некоторыми значениями-заполнителями;
2. «Привязать» необходимое количество значений к запросу;
3. Выполните это!
Я не понимаю, почему это уместно в вашем случае с таким простым запросом. Я также предполагаю, что вам это действительно нужно для чего-то большего.
Пожалуйста, дайте мне знать, если я неправильно понял вашу точку зрения или пример кода.
О, и .. веселись! : -)