PHP bindParam() in SELECT-Anweisung

lordg2009

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.559
Hi,

Ich bin gerade am Experimentieren mit MySQL und php. Dabei habe ich die bindParam-Funktion gefunden, um SQL-Injection zu verhindern.

PHP:
$stmt = $dbh->prepare("INSERT INTO Customers (CustomerName,Address,City) 
VALUES (?, ?, ?)");
$stmt->bind_param("sss", $var1, $var2, $var3);
$stmt->execute();

Jetzt die Frage, wie setze ich das in einer SELECT Anweisung um, wenn ich dass Ergebnis in einer Variable speichern möchte?

PHP:
$stmt = $dbh->prepare("SELECT * FROM Customers WHERE Address=?");
$stmt->bindParam("s", $var1);
$result = $stmt->execute();

Das klappt nicht
 
Aus der PHP-Doku ist das eigentlich total ersichtlich:

Code:
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
 
Oh, das ist ja noch cooler, habs jetzt anders gelöst, auch in der Doku gefunden:

Code:
$query = "SELECT username FROM users WHERE username=?";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("s", $username);
$stmt->execute();
$stmt->bind_result($result);
while($stmt->fetch())
{
	BEFEHL;
}
Ergänzung ()

Bin auch noch neu im Gewerbe und hab noch echt Probleme mich in der Referenz zurechtzufinden
 
Deine Ergänzung erklärt einiges. Das wird mit der Zeit aber immer besser, vorausgesetzt, du bringst den Antrieb mit, dich einzulesen. :-)
 
Zurück
Oben