Я работаю над своим назначением, и я не могу заставить свое обновление работать с моей базой данных. Вот моя форма, в которой хранятся данные.PHP-код не будет обновлять базу данных
<form name="edit" method="post" action="process/editRecord.php">
<p class="indent">
<label for="projectName">Edit Project Name</label>
<input type="text" name="projectName" id="projectName" value="<?php echo $projectName; ?>">
</p>
<p class="indent">
<label for="projectSoftware">Edit Project Software</label>
<input type="text" name="projectSoftware" id="projectSoftware" value="<?php echo $projectSoftware; ?>" >
</p>
<p class="indent">
<label for="projectDescription">Edit Project Description</label>
<textarea name="projectDescription" id="projectDescription" cols="150" rows="10" ><?php echo $projectDescription; ?></textarea>
</p>
<p class="indent">
<label for="projectImage">Edit Project Image</label>
<input type="text" name="projectImage" id="projectImage" value="<?php echo $projectImage; ?>" >
</p>
<p class="indent">
<label for="projectInformation">Edit Project Information</label>
<textarea name="projectInformation" id="projectInformation" cols="400" rows="10" ><?php echo $projectInformation; ?></textarea>
</p>
<p>
<input type="submit" name="button" id="button" value="Update">
</p>
</form>
И вот процесс.
<?php
ini_set('display_errors', 1);
require('../../includes/conn.inc.php');
require('../../includes/functions.inc.php');
// sanitize user variables
$sprojectName = safeString($_POST['projectName']);
$sprojectSoftware = safeString($_POST['projectSoftware']);
$sprojectDescription = safeString($_POST['projectDescription']);
$sprojectImage = safeString($_POST['projectImage']);
$sprojectInformation = safeString($_POST['projectInformation']);
$sprojectID = safeInt($_POST['projectID']);
// prepare SQL
$stmt = $mysqli->prepare("UPDATE projects SET projectName =?, projectSoftware =?, projectDescription=?, projectImage =?, projectInformation =? WHERE projectID = ?");
$stmt->bind_param('sssssi', $sprojectName, $sprojectSoftware, $sprojectDescription, $sprojectImage, $sprojectInformation, $sprojectID);
$stmt->execute();
$stmt->close();
header("Location: ../../php/projects.php");
// redirect browser
exit; // make sure no other code executed
?>
Я не получаю ошибки при использовании этого и не обновляет свою базу данных, но восходит к соответствующей странице проектов.
что щеколда является то, что 'safeString)' функция (? просто используйте только подготовленные заявления. вы не можете увидеть сообщение об ошибке, потому что, скорее всего, вы не включили его с тем фактом, что вы не проверяете, действительно ли выполнялся оператор – Ghost
. safeString сананизует его, поэтому вы не можете его внедрить и что готовили statemants –
Этот подготовленный оператор: '$ mysqli-> prepare (...', см. [PHP: MySQLi> Краткое руководство пользователя> Подготовленные утверждения] (http://docs.php.net/manual/en/mysqli.quickstart. ready-statements.php) – VolkerK