如何从查询更新表(MYSQL)

时间:2014-04-26 10:08:59

标签: php mysql sql sql-update

我有问题从mysql_fetch_assoc写回UPDATE表。我让它与INSERT一起使用,但随后又增加了一行。

有没有人可以帮助我正确的语法?

我发现了这个问题:

    $sql  = "SELECT * FROM oppgave  WHERE modulid=5 AND resultat is NULL ORDER BY RAND() LIMIT 1";

$data = null;
$dataid = null;
$result = mysql_query($sql, $tilkobling); 
echo "<hr>";
while ($nextrow= mysql_fetch_assoc($result)){
echo "Svar: " . $nextrow['besvarelse'];
echo "<br>Modulid: " . $nextrow['modulid'];
echo "<br>student: " . $nextrow['studentid'];
echo "<br>";
     $data = $nextrow['modulid'];
     $dataid = $nextrow['id'];
}

echo '<form name="input" action="tilretting.php" method="post">';
    echo'Retter<input type="text" name="correctedby" value="'.$_SESSION['myusername'].'">';
    echo '<input type="hidden" name="resultat" value="0">';
    echo 'Godkjent<input type="checkbox" name="resultat" value="1">';
    echo 'modul<input type="text" name="modulid" value="'.$data.'">';
     echo 'id<input type="text" name="id" value="'.$dataid.'">';
    echo '<input class="levermodulknapp" type="submit" name="lever1" value="Send inn retting">';
    echo  "</form>";
    echo "<hr>";

?>

我这就是我尝试放入提交的php:

     <?php
    include "header.inc.php";
    //in this file the connetion to server
    include "funksjoner.inc.php";

    $correctedby= $_POST['correctedby'];
    $resultat= $_POST['resultat'];
    $data = $nextrow['modulid'];
    $dataid = $nextrow['id'];


    //Step 2: connetion to db
    $tilkobling = kobleTil(); //trenger ikke oppgi databasenavn

    //Steg 3: Kjør en SQL-query
    $sql  = "UPDATE oppgave SET correctedby='".$correctedby."', resultat='".$resultat.", WHERE id='".$dataid."'";   
            mysql_query($sql, $tilkobling);

?>

我做错了什么? 非常感谢有关这个的任何提示!

1 个答案:

答案 0 :(得分:0)

您正在进行不必要的连接,并且在WHERE子句之前还有一个额外的逗号..

正确的方式..

$sql  = "UPDATE oppgave SET correctedby='$correctedby', resultat='$resultat' WHERE id='$dataid'";