更新mysql返回SQL语法错误

时间:2014-08-19 06:10:16

标签: mysql

对于为什么我一直收到此错误一无所知:

无法更新您的SQL语法中有错误;检查与您的MySQL服务器版本相对应的手册,以便在' 1 =' test' 1附近使用正确的语法。在哪里ID =' 1''在第1行

非常感谢任何帮助

    <?php
mysql_connect("localhost", "root", "root") or die("Error connecting to database: ".mysql_error());

mysql_select_db("stratacache") or die(mysql_error());

if(isset($_GET['edit']))
{
    $id = $_GET['edit'];
    $result = mysql_query("SELECT * FROM Test_Test_Wall_Sites");
    $row = mysql_fetch_array($result);
}

if(isset($_POST['newName']) )
{
    $newName = $_POST['newName'];
    $id      = $_POST['id'];
    mysql_query("UPDATE Persons SET 'COL 1'='$newName' WHERE ID='$id'") or die("Could not Update".mysql_error());

    echo "<meta http-equiv='refresh' content='0;url=index.php'>";
}
              ?>
    <form action="edit_in.php" method="POST">
    Name: <input type = "text" name="newName">
    <input type="hidden" name="id" value="<?php echo $row[0]; ?>">
    <input type="submit" value="CHECK IN">
    </form>

3 个答案:

答案 0 :(得分:1)

在列名称周围使用反引号:

mysql_query("UPDATE Persons SET `COL 1`='$newName' WHERE ID='$id'") 

答案 1 :(得分:1)

您不需要引用列名称,但在这种情况下,您可能需要使用反引号:

UPDATE Persons 
SET `COL 1` = '$newName' 
    ^     ^
WHERE ID='$id'

答案 2 :(得分:0)

假设Col 1实际上是你所拥有的列的名称,你应该用反引号括起来,而不是单引号,它表示SQL中的文字:

UPDATE Persons SET `COL 1`='$newName' WHERE ID='$id'"