У меня возникли проблемы с созданием моего проекта для создания нового пользователя с использованием PHP & подготовленных отчетов PDO. Я могу получить таблицу пользователей, отлично, однако я просто не могу получить данные, которые находятся в форме, отправленной в базу данных. Любые советы или советы относительно того, что я делаю неправильно, были бы замечательными, спасибо, заранее. Вот мой сценарий:PDO подготовленный оператор create
<?php
if($_POST){
require_once('connect.php');
try {
$stmt = $con->prepare("INSERT INTO admin SET username=:username, fName=:fName, lName=:lName, email=:email, userLevel=:userLevel");
$username = htmlspecialchars(strip_tags($_POST['username']));
$fName = htmlspecialchars(strip_tags($_POST['fName']));
$lName = htmlspecialchars(strip_tags($_POST['lName']));
$email = htmlspecialchars(strip_tags($_POST['email']));
$userLevel = htmlspecialchars(strip_tags($_POST['userLevel']));
$stmt->bindParam(':username', $username);
$stmt->bindParam(':fName', $fName);
$stmt->bindParam(':lName', $lName);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':userLevel', $userLevel);
if($stmt->execute())
{
echo "<h1>Success</h1>";
}
else
{
echo "<h1>Fail</h1>";
}
}
catch(PDOException $exception)
{
die('Error: ' . $exception->getMessage());
}
}
?>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"method="post">
<table id="createUser">
<tr>
<td>
Username
</td>
<td>
<input type="text" name="username">
</td>
</tr>
<tr>
<td>
First Name
</td>
<td>
<input type="text" name="fName">
</td>
</tr>
<tr>
<td>
Last Name
</td>
<td>
<input type="text" name="lName">
</td>
</tr>
<tr>
<td>
email
</td>
<td>
<input type="email" name="email">
</td>
</tr>
<tr>
<td>
Access Level
</td>
<td>
<select name="userLevel">
<option selected disabled hidden>Please Select</option>
<option value="0">Full Control</option>
<option value="1">Managed Control</option>
<option value="2">Own Page Control</option>
</select>
</td>
</tr>
<td>
<input type="submit" value="Add User"/>
<a href="admin.php">Test Link</a>
</td>
</table>
</form>
</body>
</html>
Что происходит, когда вы выполняете этот код? Вы не должны хранить данные с помощью 'htmlspecialchars', используйте это при выводе. – chris85
Я думаю, что 'SET' работает с запросом' UPDATE'. – frz3993
Я не уверен, поддерживает ли PDO этот синтаксис SQL. Это не синтаксис SQL INSERT, а для UPDATE – Andy