繁体   English   中英

第1(2)行的MySQL语法错误

[英]MySQL Syntax Error On Line 1(2)

我是初学者Web开发人员。 这是我第一次尝试连接MySQL数据库。 我收到以下语法错误(成功连接到数据库后?)。 我知道那里也有类似的问题,但我想我一定缺少一些具体的问题。 谢谢你的耐心!

错误:您的SQL语法有错误; 检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的“名称,电子邮件,密码,性别)VALUES('','','',``))”附近使用

<?php
$con=mysqli_connect("localhost", "shiftedr_admin", "", "shiftedr_whosthedeeusers");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
 }
$sql="INSERT INTO Users2 (Full Name, Email, Password, Gender)
VALUES
('$_POST[fullname]','$_POST[email]','$_POST[password]', '$_POST[gender]')";

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

mysqli_close($con);
 ?>

我已经仔细检查过这些值是否与数据库中的值完全匹配并且区分大小写。 “全名”是在Users2表和我要从其调用的php中使用的方式。

我用来提交脚本的HTML代码如下:

<div class="reformed-form" style="width: 400px; border-right-color:">
<form method="post" name="accountcreation" id="accountcreation" action="insertnewaccounts.php" style="background-color:#CCFFFF;">
<center><h1 style="position:relative;left:0px;"> Account Creation </h1>

    <table>
    <tr>
    <td align="right"> Full Name: </td>
    <td align="left"><input type="text" id="fullname nameerror"  name="fullname" min="4" class="spacing" placeholder="Your Full Name"/> </td></tr>
    <tr>
    <td align="right">Email</td>
    <td align="left"><input type="text" id="email" name="email"  min="5" placeholder="@" />        </td></tr>
    <tr>
    <td align="right"> Password </td>
    <td align="left"><input type="text" id="Password" name="password"  class="spacing" placeholder="Minimum 6 Characters"/>         </td></tr>
    <tr>
    <td align="right"> Confirm Password </td>
    <td align="left"><input type="text" id="confirmpassword passworderror" class="spacing" name="pwc" placeholder="Confirm Password"/></td></tr>
    <tr>
    <td align="right"> Owner's' Gender: </td>
    <td align="left"><input type="radio"> Male <input type="radio">Female </td></tr>
    </table>
    </center>
    </dl>
<input type="submit" value="Check" /></center>
</form>

Full Name中包含空格,因此语法无效。 如果实际的列名是“全名”,则需要在其周围加上引号。

INSERT INTO Users2 (`Full Name`,

您的代码容易被注入,并且您正在使用不推荐使用的MySQL API。 切换到对PDO或mysqli使用正确参数化的查询。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM