【问题标题】:Error in your SQL syntax; check the manual that corresponds to your MySQL server versionSQL 语法错误;检查与您的 MySQL 服务器版本相对应的手册
【发布时间】:2014-02-02 09:32:08
【问题描述】:

HTML 代码

<!DOCTYPE html>
<html>
  <head>
    <style>
      #right
      {
      margin-top:109px;
      margin-right:225px;
      }
      #button
      {
      margin-right:;
      margin-top:22px;
      }
    </style>
  </head>
  <body>
    <div id="total" style="width:1350px">
      <div id="top" style="width:1350px;height:69px;background-image:url('top.png');float:;"></div>
      <div id="body" style="width:1350px;height:570px;background-image:url('body.jpg');float:;">
        <div id="right" style="background-color:;height:283px;width:320px;float:right;">
          <form action="new.php" method="post" >
            <input type="text" name="username" value="" size="37"  placeholder="username"style="height:20px"><br><br>
            <pre><input type="password" name="password" value="" size="37" placeholder="password"style="height:20px"> 
<div id="button"><input type="image" name="" value="submit" src="button.png" />  <input type="checkbox" value="check"><br></pre>
            </div>
          </form>
        </div>
      </div>
      <div id="footer" style="width:1350px;height:33px;background-image:url('footer.png');clear:both;"></div>
    </div>
  </body>
</html>

我的 PHP 代码

<?php
$con=mysqli_connect("localhost","prabha","prabha","prabha");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql="INSERT INTO table (username, password)
VALUES
('$_POST[username]','$_POST[password]')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "1 record added";

mysqli_close($con);
?>

当我在输入用户名后点击提交按钮时:prabha 密码:passwordofprabha

它显示以下错误。请修复我的代码。

错误:您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 靠近'表(用户名,密码)值('prabha','passwordofprabha')' 在第 1 行

【问题讨论】:

  • 不要给你的桌子打电话table - 它不仅是一个保留字,而且在清晰度和文档方面也是一个可怕的名字。

标签: mysql sql


【解决方案1】:

对 MYSQL 保留字使用 ` 反引号...

表名“table”是MYSQL的保留字...

所以你的查询应该如下...

$sql="INSERT INTO `table` (`username`, `password`)
VALUES
('$_POST[username]','$_POST[password]')";

【讨论】:

  • 谢谢你们,我对所有这些东西都是新手......,我使用了不同的表名,它工作完美酷......
【解决方案2】:

一些特殊字符会出现这种类型的错误,所以使用

$query="INSERT INTO `tablename` (`name`, `email`)
VALUES
('$_POST[name]','$_POST[email]')";

【讨论】:

    猜你喜欢
    • 2014-01-27
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多