【问题标题】:Simple PHP Error简单的 PHP 错误
【发布时间】:2011-12-27 04:54:08
【问题描述】:

我遇到了一个简单的 php 错误,我找不到解决方案。我插入了以下代码:

    <?php
session_start();
require_once '../includes/db.php';  

$address1 = $_REQUEST["address1"];
$address2 = $_REQUEST["address2"];
$city = $_REQUEST["city"];
$postcode = $_REQUEST["postcode"];

mysql_query("UPDATE customers SET address1='$address1', address2='$address2', city='$city', postcode='$postcode' WHERE username = '".$_SESSION['username']."')")

or die(mysql_error());

?> 

这段代码给了我以下错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ')' 附近使用正确的语法

第 1 行如下,我认为它与 sql 语句无关:

    <?php
session_start();
?>

谢谢大家! :)

【问题讨论】:

  • 该错误是指SQL语句中的第1行,而不是PHP代码。
  • 你在最后的字符串中有一个额外的 ):"')" 应该是 "'"
  • 您需要删除查询中多余的“)”
  • 这个错误明显是一个SQL错误,所以“line 1”指的是你的SQL查询的第一行。 (由于只有一行,错误只是指您的整个 SQL 查询。)打印查询并单独检查。
  • @AndrewStubbs:你不需要链接到这个问题的答案。我们都可以向下滚动并自己查看。

标签: php mysql error-handling


【解决方案1】:

更改该行:

mysql_query("UPDATE customers SET address1='$address1', address2='$address2', city='$city', postcode='$postcode' WHERE username = '".$_SESSION['username']."')")

到那个

mysql_query("UPDATE customers SET address1='$address1', address2='$address2', city='$city', postcode='$postcode' WHERE username = '".$_SESSION['username']."'")

查询中有一个额外的右括号。

【讨论】:

  • 应该这样做,有一个不需要的结束括号。
  • 如果对您有帮助,请标记为已回答 :)
  • 等待 15 分钟等待结束 :)
【解决方案2】:
  1. bobby-tables开放
  2. 确保:

    UPDATE customers SET address1='$address1', address2='$address2', city='$city', postcode='$postcode' WHERE username = '".$_SESSION['username']."')
    

    是一个真正的查询。
    您现在可以看到这不是因为末尾额外的)

【讨论】:

    【解决方案3】:

    您在查询末尾有一个不应该存在的)

    mysql_query("UPDATE customers SET address1='$address1', address2='$address2', city='$city', postcode='$postcode' WHERE username = '".$_SESSION['username']."'")
    

    【讨论】:

      【解决方案4】:
      mysql_query("UPDATE customers SET address1='$address1', address2='$address2', city='$city', postcode='$postcode' WHERE username = '".$_SESSION['username']."')") or die(mysql_error());
      

      您的 SQL 查询末尾有一个流浪的 )

      应该是:

      mysql_query("UPDATE customers SET address1='$address1', address2='$address2', city='$city', postcode='$postcode' WHERE username = '".$_SESSION['username']."'") or die(mysql_error());
      

      【讨论】:

        【解决方案5】:

        改变

        $_SESSION['username']."')")
        

        $_SESSION['username']."'")
        

        【讨论】:

          【解决方案6】:

          我想你忘记在末尾加分号了?

          右下角:

          mysql_query(" UPDATE customers SET address1='$address1', address2='$address2',city='$city', postcode='$postcode' WHERE username ='". $_SESSION['username']."'");
          

          【讨论】:

          • 他忘记了 $_SESSION['username'] 后面的右括号。 “')”。问号在 die() 之后。这是一句话。
          • 好吧对不起我的错误我没有真正测试出来。
          • @Rocket,是的,不是的! :) xaxaxaxa 在希腊,我们使用分号作为问号! ;) 顺便说一句,我的英语不太好! :) xaxa
          • @MerianosNikos:很有趣。不知道那个。 en.wikipedia.org/wiki/Semicolon#Greek_and_Church_Slavonic
          猜你喜欢
          • 2014-09-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-13
          • 1970-01-01
          • 2018-02-23
          相关资源
          最近更新 更多