РЕДАКТИРОВАТЬ
Я изменил таблицу на MyISAM, и это сработало.Кто-нибудь знает, почему InnoDB не будет работать, и если есть способ «включить» его?
По сути, я вставляю строку, могу ссылаться на новый идентификатор через$ mysqli-> insert_id, выберите строку, переведите ее в ассоциативный массив и верните ее.Сразу после этого в другой функции я пытаюсь выделить ее и ее не существует.Он также не существует в базе данных.Обновление просто не обновляет, а удаление просто не удаляет (хотя, когда я говорю, что $ stmt-> disabled_rows возвращает> 0).
Одна таблица (новости) изменяется без проблем, но другая таблица (продукты)), который использует тот же код (только у него есть собственное имя таблицы и значения полей).
Функция такова:
function addNews($title, $message) {
$mysqli = open_mysqli();
if ($stmt = $mysqli->prepare("INSERT INTO news(title, message) VALUES (?,?)")) {
$stmt->bind_param("ss", $title, $message);
$stmt->execute();
$stmt->close();
$id = $mysqli->insert_id;
if ($stmt = $mysqli->prepare("SELECT * FROM news WHERE id=? LIMIT 1")) {
$stmt->bind_param("i", $id);
$stmt->execute();
$meta = $stmt->result_metadata();
while ($field = $meta->fetch_field()) {
$params[] = &$row[$field->name];
}
call_user_func_array(array($stmt, 'bind_result'), $params);
while ($stmt->fetch()) {
foreach($row as $key => $val) {
$c[$key] = $val;
}
$results[] = $c;
}
$stmt->close();
$mysqli->close();
if(isset($results) && $results) {
return sqlResultObj(true, $results[0]);
} else {
return sqlErrorObj('No news with id '.$id);
}
}
} else {
return sqlErrorObj('Problem adding news.');
}
}
Единственное отличие таблиц, кромесами поля - это то, что продукт представляет собой InnoDB Storage Engine и имеет другие таблицы, ссылающиеся на него как на их внешний ключ, в то время как новости - это MyISAM, а не.
Как я уже сказал, это прекрасно работает на моем локальном сервере WAMP.(работает Apache 2.2.11, PHP 5.3.0, MySQL 5.1.36), но он представляет вышеуказанные проблемы на моем сервере 1and1 (PHP 5, MySQL 5, и у меня есть пакет для начинающих USA 1 & 1 Linux_WS ... не знаю, какая версияApache или где его найти).Любые идеи будут с благодарностью.