Я пытаюсь изучить mysqli, поэтому я конвертирую свой сайт. И мне было нелегко в части обновления, поэтому я решил сделать детские шаги и немного поработать.
Ну, я пытаюсь переключить страницу дополнительных элементов, использующую INSERT. Проблема в том, что в базу данных ничего не помещается, и она помещает в нее 2 пустых строки. (Как добавляются 2 элемента)
Я носил эту доску с вопросами, и я искал ответы и делал проб и ошибок, прежде чем задавать вопросы, но я просто не могу понять этот mysqli. Он отлично работает с mysql, но с его обесцениванием я хотел его переключить.
post2.php
<?php
$db = new mysqli("localhost","admin","pass","database");
if(!$db) {
die('sorry we are having some problbems');
}
if(isset($_POST['submit'])) {
$stmt = $db->prepare("INSERT INTO new_equip('id','itemname', 'manufacture', 'model','serial') VALUES(?,?,?,?,?)");
$stmt->bind_param("issss", $_POST['id'], $_POST['itemname'], $_POST['manufacture'], $_POST['model'], $_POST['serial']);
if(!$stmt->execute()) {
// Do your error stuff
die('Error: ' . mysqli_error($db));
}
}
echo $sql;
var_dump($_POST);
mysqli_close($db);
?>
надстройку item.php
<form method="post" action="post2.php" enctype="multipart/form-data" class="form-horizontal" accept-charset="UTF-8">
<div class="form-group">
<label class="col-md-3">Item Name</label>
<input type="text" name="itemname" value="" class="form-control" />
</div> <!-- /.form-group -->
<div class="form-group">
<label class="col-md-3">Manufacture</label>
<input type="text" name="manufacture" value="" class="form-control" />
</div> <!-- /.form-group -->
<div class="form-group">
<label class="col-md-3">Model</label>
<input type="text" name="model" value="" class="form-control" />
</div> <!-- /.form-group -->
<div class="form-group">
<label class="col-md-3">Serial</label>
<input type="text" name="serial" value="" class="form-control" />
</div> <!-- /.form-group -->
<div class="col-md-8 col-md-push-3">
<input type="submit" name="Submit" class="btn btn-primary">
<button type="reset" class="btn btn-default">Cancel</button>
</div> <!-- /.col -->
Это потому, что вы запускаете запрос 2 раза.
Один раз здесь:
$result = $db->query($sql);
Второй раз здесь:
if (!mysqli_query($db,$sql))
Вы должны заменить if (!mysqli_query($db,$sql))
с if (!$result)
$result = $db->query($sql);
if (!$result)
или просто удалить $result = $db->query($sql);
Подготовленная версия отчета:
<?php
$db = new mysqli("localhost","admin","pass","database");
if(!$db) {
die('sorry we are having some problbems');
}
if(isset($_POST['submit'])) {
$stmt = $db->prepare("INSERT INTO new_equip('id','itemname', 'manufacture', 'model','serial') VALUES(?,?,?,?,?)");
$stmt->bind_param("issss", $_POST['id'], $_POST['itemname'], $_POST['manufacture'], $_POST['model'], $_POST['serial']);
if(!$stmt->execute()) {
// Do your error stuff
die('Error: ' . mysqli_error($db));
}
}
echo $sql;
var_dump($_POST);
mysqli_close($db);
?>
$_POST
.
echo $sql;
дать вам какие-либо подсказки?id
,itemname
,manufacture
,model
,serial
) VALUES ('', '', '', '', '')