2017-01-25 3 views
0

Weiß jemand, was hier falsch sein könnte?SQL Syntax Error ID plötzlich gleich Null

<?php 
$q = intval($_GET['q']); 
echo $q." "; // $q=2 
$d = $_GET['d']; 
echo $d." "; //$d=3priority 
$m = preg_replace('/[0-9]+/', '', $d); 
echo $m." "; //$m = priority 
$s = intval($_GET['d']); 
echo $s;// $s = 3 
$sql = "UPDATE form SET $m = $q WHERE id = $s"; 
$result = $conn->query($sql); 
if ($conn->query($sql) === TRUE) {echo "das";} 
else{ 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 
?> 

erhalte ich die Fehlermeldung:

UPDATE Form SET = 0 WHERE id = 0 Sie haben einen Fehler in der SQL-Syntax; Sie in der Bedienungsanleitung für die richtige Syntax verwenden in der Nähe von '= 0 WHERE id = 0' at line 1

jedoch zu Ihrem MySQL-Server-Version entspricht, wenn ich echo die $ m/$ q/$ s/Sie zeigen die richtigen Werte. Aber irgendwie werden sie in der SQL-Anweisung auf 0 gesetzt.

Wäre nett, wenn Sie mir :)

+0

lernen erste Update Syntax –

+0

in der SQL-Abfrage überprüfen Sie den Wert von $ m Diese Versuchen helfen könnte. Es scheint, dass $ m ist leer –

+0

ist die Update-Syntax anders? –

Antwort

0

$sql = "UPDATE form SET" . $m . "=" . $q . " WHERE id =" . $s;