Ich bin in PHP/MySQL-Code und ich habe überall nach einer Lösung für dieses Problem gesucht, aber keine Antworten zu meinem Problem.SQLSTATE [42000]: Syntaxfehler oder Zugriffsverletzung: 1064 anmelden
Mein Code ist sehr einfach, aber ich kann
<?php
$servername = "localhost";
$username = "langalungalangalunga";
$password = "langalungalangalunga";
$dbname = "user_main";
$client_username = $client_password = $client_email = "";
$usernameErr = $passwordErr = $emailErr = "";
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (!empty($_POST['username'])) {
$client_username = test_input($_POST['username']);
} else {
$usernameErr = "No input on UserName";
}
if (!empty($_POST['password'])) {
$client_password = test_input($_POST['password']);
} else {
$passwordErr = "No input on Password";
}
if (!empty($_POST['email'])) {
$client_email = test_input($_POST['email']);
} else {
$emailErr = "No input on Email";
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO user_main (UserName, Password, Email)
VALUES ($client_username, $client_password, $client_email)";
// use exec() because no results are returned
$conn->exec($sql);
echo "<script> alert('Success!');</script>";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
}
?>
Die Fehlerpunkte in Zeile 2 der E-Mail-Teil
Sie in der Bedienungsanleitung zu Ihrem MySQL-Server-Version entspricht was verursacht diesen Fehler nicht gefunden für die richtige Syntax in der Nähe zu verwenden, in Zeile ‚[email protected])‘ 2
<form class="" action='<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>' method="post">
<label for="username">Username</label>
<input type="text" name="username" value="<?php echo htmlspecialchars($_SERVER['username']) ?>">
<label for="password">Password</label>
<input type="password" name="password" value="">
<label for="email">Email</label>
<input type="email" name="email" value="">
<button type="submit" name="button">Register</button>
</form>
es tut mir leid, wenn es irgendwo mein Fehler, aber ich bin alle PHP zusammen, um neue so nicht, daß ich wirklich h ave ein Gefühl für die Syntax
Zeichenfolge durch einfache Anführungszeichen in mysql eingeschlossen werden und keine Benutzerdaten einfügen wie this.it zu SQL führen Injektionsmöglichkeiten verwenden PDO Bind Parameter Methode – JYoThI