Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL语法错误;请查看与MySQL服务器版本对应的手册,以了解在“WHERE”附近使用的正确语法_Php_Mysql - Fatal编程技术网

Php SQL语法错误;请查看与MySQL服务器版本对应的手册,以了解在“WHERE”附近使用的正确语法

Php SQL语法错误;请查看与MySQL服务器版本对应的手册,以了解在“WHERE”附近使用的正确语法,php,mysql,Php,Mysql,-当我用新值输入'nama_pemain'或klub_pemain值来更新数据库'dbartt'时。 -它显示以下错误。请修改我的密码 -错误:您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解在第1行的“WHERE id_artt=”11:22:33:44:55:66附近使用的正确语法 <!doctype html> <html> <head> <title>Pengubahan Data Pemain&

-当我用新值输入'nama_pemain'或klub_pemain值来更新数据库'dbartt'时。 -它显示以下错误。请修改我的密码

-错误:您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解在第1行的“WHERE id_artt=”11:22:33:44:55:66附近使用的正确语法

    <!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");
    ?>
对此,

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

有几个错误,我发现了一个额外的“,”和一个“;”我认为这可能是造成问题的原因

像这样替换查询代码

$sql = "SELECT * FROM pemain WHERE id_artt = '" . $kunci . "'";
另一件事是确保'id_artt'列的类型的格式可以接受11:22:33:44:55:66之类的值,您的where条件应该是这样的

$sql=从pemain中选择*,其中id_artt='.$kunci'


你可以这样写

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

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

如果我们确定它打开了,/逗号符号。因为根据续订权限请求,在此之前不能有逗号,只有在仍有数据字段需要更改时才使用逗号。以下是正确的脚本:

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


太多了,逗号。而且,这种“停止-开始”编码的做法太难看了。解释一下你在这里做的事情会很有帮助。
"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'";