mysqli_query Eingänge über variable

Ich versuche, die Informationen in einer MySQL-Tabelle mithilfe des folgenden PHP-code. (Die Eingabe der Namen und text aus einer HTML5-basic-form.) Vermutlich ein syntax-Problem?

<?php
include "dbinfo.php"; //contains mysqli_connect information (the $mysqli variable)
//inputs
$name = $_GET["name"];
$text = $_GET["text"];

$sqlqr = 'INSERT INTO `ncool`.`coolbits_table` (`name`, `text`, `date`) VALUES ("$name", "$text", CURRENT_TIMESTAMP);'; //the query. I'm pretty sure that the problem is a syntax one, and is here somewhere.

mysqli_query($mysqli,$sqlqr); //function where the magic happens.
?>

Wird kein Fehler geworfen. Ein leerer Bildschirm Ergebnisse, und eine Zeile mit "$name" und "$text" Hinzugefügt wird, um die MySQL-Tabelle.

  • Warnung! Dein code ist gefährlich anfällig für SQL-injection-Angriffe. Lesen Sie, wie zu entkommen, Ihre SQL-Variablen, vorzugsweise mit Prepared Statements.
  • Basierend auf den geposteten code, eine Zeile eingefügt und ein leerer Bildschirm ist genau das, was ich erwarten würde.
  • Was bedeutet mysqli_error() zurück?
  • Ja,aber es ist der name der variable (wörtlich $name) Hinzugefügt, und nicht sein Wert.
  • mysqli_error() nichts zurückgibt (vorausgesetzt, ich bin mit korrekt).
  • sorry, ich lese zu schnell und nicht erkennen, die Sie gedacht, "die buchstäblich $name". Hoffe, dass ich nicht kommen off als snarky; das war definitiv nicht meine Absicht. Die einzigen Angebote die Sie haben, um Ihre Abfrage-string sind Teil des Problems: Sie will nicht ersetzen die Werte der Variablen als Uby und andere darauf hin. Erhalten Sie buchstäblich $name statt der-Wert-von-Namen. Dieses gegenstandslos, wenn Sie verwenden, mysqli prepared statements, also einen Versuch bei denen. Sie sind nicht so beängstigend wie Sie klingen, Sie sind viel sicherer, und es gibt viele schöne tutorials auf, wie Sie zu verwenden sind.
  • Überprüfen Sie meine überarbeitete Antwort. Sollten keine Fehler auftreten.

InformationsquelleAutor nocoolsoft | 2013-03-26
Schreibe einen Kommentar