Hier ist der Code für mein HTML-FormularWarnung: mysqli :: query(): Kann nicht holen Mysqli
<html>
<body>
<style>
body {
background-color: #003D4F; color: white; font-family: arial;
}
</style>
<h1> Clicky </h1>
<h2> Submit Scores </h2>
<i> We can tell when you lie! Don't do it! ;) </i> <br>
<form action="submit.php" method="post">
<input type="text" value="Name" /> <br>
<input type="text" value="Score" /><br>
<input type="submit" value="Submit" />
</form>
</body>
</html>
Der Code für 'Connection.php'
<?php
function Connect()
{
$dbhost = "localhost";
$dbuser = "username";
$dbpass = "password";
$dbname = "my_database";
// Create connection
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname) or die($conn->connect_error);
return $conn;
}
?>
und den Code für Submit.php
<?php
require 'connection.php';
$conn = Connect();
$name = isset($_POST['Name']) ? $_POST['Name'] : '';
$score = isset($_POST['id']) ? $_POST['id'] : '';
$query = "INSERT into test.clicky (name, score) VALUES('" . $name . "','" . $score . "')";
$success = $conn->query($query);
if (!$success) {
die("Couldn't enter data: ".$conn->error);
}
echo "Thank you for submitting! <br>";
$conn->close();
?>
Der Fehler, den ich erhalte, ist wie folgt.
Warnung: mysqli :: mysqli(): (HY000/1045): ProxySQL Fehler: Zugriff verweigert für Benutzer 'username' (Passwort: Nein) in (connection.php) auf der Leitung 12
Warning: mysqli :: query(): Ich konnte mysqli in (submit.php) in Zeile 8 nicht abholen
Warnung: main(): Ich konnte mysqli in (submit.php) in Zeile 11 nicht abrufen Konnte nicht eingegeben werden Daten:
Der erste Fehler Ich habe eine Idee, wie in meinem Fall zu beheben. Die anderen beiden Fehler bereiten mir jedoch Schwierigkeiten.
Auch Sie können vielleicht bemerken, dass ich über das Einreichen auf eine sehr seltsame Weise gegangen bin. Wenn meine Datenbank automatisch hochgeladen werden könnte, wäre das großartig.
** WARNUNG ** defnie: Bei der Verwendung von 'mysqli' Sie [parametrisierte Abfragen] verwenden sollten (http://php.net/manual/en /mysqli.quickstart.prepared-statements.php) und ['bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php), um Benutzerdaten zu Ihrer Abfrage hinzuzufügen. ** Verwenden Sie NICHT ** String-Interpolation oder Verkettung, um dies zu erreichen, weil Sie einen schwerwiegenden [SQL injection bug] erstellt haben (http://bobby-tables.com/). ** NIEMALS ** $ _POST 'oder' $ _GET' Daten direkt in eine Abfrage einfügen, es kann sehr schädlich sein, wenn jemand versucht, Ihren Fehler auszunutzen. – tadman
Dies ist ein Anmeldeproblem. Stellen Sie sicher, dass das Konto, das Sie verwenden, Zugriff hat. – tadman
'Einfügen in test.clicky'? Ist "test" die db? –