SQL语法错误;检查与您的MySQL服务器版本相对应的手册,以便在#< WHERE附近使用正确的语法

时间:2014-10-21 10:13:21

标签: php mysql

    <!doctype html>
<html>
   <head>
      <title>Pengubahan Data Pemain</title>
      <style>
         label {
            float: left;
            width: 100px;
         }
      </style>   
   </head>
   <body>
      <h1>Pengubahan Data Pemain</h1>
      <?php

         $kunci = isset($_GET["kunci"]) ? 
                  trim($_GET["kunci"]) : "";
         $pesan = isset($_GET["pesan"]) ? 
                  trim($_GET["pesan"]) : "";

         if ($kunci !== "") {
            // Lakukan koneksi database
            $koneksi = new mysqli("localhost", "root", 
                                  "syamsunisramani", "dbartt");
            if (!$koneksi)
               die("Koneksi gagal");

            // Proses SQL
            $sql = "SELECT * FROM pemain WHERE id_artt = '" . 
                   $kunci . "';";

            if ($hasil = $koneksi->query($sql)) 
               if ($hasil->num_rows > 0) {
                  print("<form action=\"pemsimp.php\" method=\"post\">");
                  print("<fieldset>");

                  while ($baris = $hasil->fetch_array()) {
                     print("<p>\n");
                     print("<label>ID ARTT:</label>\n");
                     print("<input type=\"hidden\" name=\"id-artt\"");
                     print("       value=\"$kunci\">\n");
                     print("<input type=\"text\" name=\"kunci\"");                     
                     print("       value=\"$kunci\">\n");
                     print("</p>\n");
                     print("<p>\n");
                     print("<label>Nama Pemain:</label>\n");
                     print("<input type=\"text\" name=\"nama-pemain\"");
                     print("       value=\"$baris[1]\">\n");                     
                     print("</p>\n");
                     print("<p>\n");
                     print("<label>Klub Pemain:</label>\n");
                     print("<input type=\"text\" name=\"klub-pemain\"");
                     print("       value=\"$baris[2]\">\n");                      

                     print("</p>\n");

                   }

                   print("<input type=\"submit\" value=\"Simpan\">\n");

                   print("</fieldset>\n");
                   print("</form>\n");
               }
               else {
                  print("Data tidak ditemukan<br>");     
                  $pesan = "";
               }   
            else {
               print("Gagal memproses. Kesalahan: " . 
                     $koneksi->error . "<br>");     
               $pesan = "";      
            }   
            // Tutup koneksi   
            $koneksi->close();
         }
         else
            print("Salah pemakaian");

         // Tampilkan pesan kesalahan
         if ($pesan !== FALSE) 
            print($pesan);
      ?>
   </body>
</html>

//pemsimp.php
        <?php
       $id_artt = isset($_POST["id-artt"]) ? 
                      trim($_POST["id-artt"]) : "";

       $nama_pemain = $_POST["nama-pemain"];               
       $klub_pemain = $_POST["klub-pemain"];               

       if (empty($id_artt)) {
          die("Salah pemanggilan");
       }

       // Lakukan koneksi database
       $koneksi = new mysqli("localhost", "root", 
                             "syamsunisramani", "dbartt");
       if (!$koneksi)
          die("Koneksi gagal");

       // Proses SQL
       $sql = "UPDATE pemain SET " .
              "nama_pemain = '$nama_pemain', " .
              "klub_pemain = '$klub_pemain', " .
              "WHERE id_artt = '" . $id_artt . "';";

       $pesan = "";       
       if ($hasil = $koneksi->query($sql)) 
          $pesan = "Data pemain '$nama_pemain' telah disimpan";
       else
          $pesan = "Gagal menyimpan. Kesalahan: " . $koneksi->error;     

       // Tutup koneksi   
       $koneksi->close();

       // Redirection
       header("location: ubahpem.php?kunci=$id_artt&pesan=$pesan");
    ?>

- 当我更新数据库&#39; dbartt&#39;输入&#39; nama_pemain&#39;或具有新值的klub_pemain值。 - 显示以下错误。请修复我的代码。

-error:你的SQL语法有错误;检查与您的MySQL服务器相对应的手册 - 版本,以便在#&lt; id:id:=&#39; 11:22:33:44:55:66&#39;&#39;在第1行

6 个答案:

答案 0 :(得分:1)

更改此

$sql = "SELECT * FROM pemain WHERE id_artt = '" . $kunci . "';";

到此,

$sql = "SELECT * FROM pemain WHERE id_artt = '" . $kunci . "'";

答案 1 :(得分:0)

我发现了一些错误(另外一个','和';'),我认为这可能会导致问题。

替换您的查询代码

       $sql = "UPDATE pemain SET " .
              "nama_pemain = '$nama_pemain', " .
              "klub_pemain = '$klub_pemain' " .
              "WHERE id_artt = '" . $id_artt . "'";

另一件事是确保'id_artt'列的类型采用可接受"11:22:33:44:55:66"

等值的格式

答案 2 :(得分:0)

where 条件应如下所示。

  

$ sql =“SELECT * FROM pemain WHERE id_artt ='”。$ kunci。“'”;

答案 3 :(得分:0)

你可以这样写......

 $sql = "
 UPDATE pemain 
    SET nama_pemain = '$nama_pemain'
      , klub_pemain = '$klub_pemain'
  WHERE id_artt = $id_artt;
";

倒数第二个分号不是必需的,但我喜欢将其包含在内,这样我就可以将回复复制并粘贴到MySQL CLI进行测试。

答案 4 :(得分:0)

with heredoc query 
$sql = <<<SQL
UPDATE pemain 
    SET nama_pemain = '$nama_pemain'
      , klub_pemain = '$klub_pemain'
  WHERE id_artt = $id_artt
SQL;

答案 5 :(得分:0)

如果我们确定原来是打开“,/逗号”符号。因为根据更新许可请求,在WHERE之前不能有逗号,因此仅在仍有要更改的数据字段时才使用逗号。这是正确的脚本:

"UPDATE pemain SET " .
"nama_pemain = '$nama_pemain', " .
"klub_pemain = '$klub_pemain'" .
"WHERE id_artt = '" . $id_artt . "';";

"UPDATE pemain SET nama_pemain = '$nama_pemain', klub_pemain = '$klub_pemain' WHERE id_artt = '$id_artt'";