2

これはフォームのコードです:

   <div id="regform">
   <div id="regform-top">
   <h2>User Registration</h2>
   <p>Please complete this form</p>
   </div>

   <form id="register-form" name="register-form" action="submit.php"  method="post"    
   class="validation">
   <fieldset>

   <table>

  <tr>
  <td>
  <div class="fieldgroup">
  <label for="user-name">User name*: </label>
  <input type="text" id="name" name="name" value="" size="12" class="inpt" /><br    
  class="clear" />
  </div>
  <div class="fieldgroup">
  <label for="password">Password*: </label>

  <input type="password" id="password" name="password" value="" size="12" class="inpt"     
   /><br class="clear" />

  </div>
  </td>
  <td id="form-note">
  <br />

  <p><strong>Form  Instructions</strong></p>

  <p>*Required Field</p>
  </td>
  </tr>

  </table>


  <table id="bottom-reg">

  <tr>
  <td><br />
  <div class="fieldgroup">
  <label for="firstname">First name*</label>
  <input type="text" id="firstname" name="firstname" value="" size="12" class="inpt" />  
  <br class="clear" />

  </div>

   <div class="fieldgroup">
  <label for="email">Email Address* </label>
  <input type="text" id="email" name="email" value="" size="12" class="inpt" /><br 
  class="clear" />
  </div>


  <div class="fieldgroup">
  <label for="address1">Address 1* </label>
  <input type="text" id="address1" name="address1" value="" size="12" class="inpt" />   
  <br class="clear" />
  </div>
  <label for="address2">Address 2</label>
  <input type="text" id="address2" name="address2" value="" size="12" class="inpt" />   
  <br class="clear" />
  <label for="address2">Address 3</label>
  <input type="text" id="address3" name="address3" value="" size="12" class="inpt" />   
  <br class="clear" />

  <div class="fieldgroup">
  <label for="country">Country*</label>
  <input type="text" id="country" name="country" value="" size="12" class="inpt" /><br    
  class="clear" />
  </div>
  </td>
  <td><br />
  <div class="fieldgroup">
  <label for="lastname">Last name*</label>
  <input type="text" id="lastname" name="lastname" value="" size="12" class="inpt" />   
  <br class="clear" />
  </div>

  <div class="fieldgroup">
  <label for="group">Group* </label>
  <input type="text" id="name" name="group" value="" size="12" class="inpt" />


  <br class="clear" />
  </div>

  <div class="fieldgroup">
   <label for="city">City* </label>
  <input type="text" id="city" name="city" value="" size="12" class="inpt" /><br  
   class="clear" />
   </div>

   <div class="fieldgroup">
   <label for="city">State* </label>
  <input type="text" id="state" name="state" value="" size="12" class="inpt" /><br    
  class="clear" />
  </div>

  <div class="fieldgroup">
  <label for="zip">Zip*</label>
  <input type="text" id="zip" name="zip" value="" size="12" class="inpt" /><br    
  class="clear" />
  </div>

  </td>

  </tr>

  </table>

  <input type="submit" value="Register" class="submit-btn" />
  </fieldset>
  </form>

これは submit.php のコードです:

     <?php

     $con = mysql_connect("localhost","viatechp_invacar","storefront72");
  if (!$con)
  {
    die('Could not connect: ' . mysql_error());
  }


  mysql_select_db("viatechp_invacare", $con);



    $sql="INSERT INTO registration(username,password,fname,lname,group,
    address1,address2,address3, email,city,state,zip,country )
    VALUES
    ('$_POST[name]','$_POST[password]', '$_POST[firstname]','$_POST[lastname]','  
    $_POST[group]','$_POST[address1]','$_POST[address2]','$_POST[address3]',                                                           
   '$_POST[email]','$_POST[city]','$_POST[state]','$_POST[zip]','$_POST[country]'

    )" ;

  $query = mysql_query($sql) or die(mysql_error());

  $results = mysql_fetch_assoc($query);

   if ($results) { 
  echo 'The query returned ' . $results[ 'registration' ];
  } else {
  echo 'The query did not return any results';
  } ?>


  echo $sql;


  ?>

エラーが表示されます:

SQL 構文にエラーがあります。near 'group,address1,address2,address3,email,city,state,zip,country ) VALUES ( 'sdfdsf' at line 1

4

5 に答える 5

1

group は SQL キーワードです。これがフィールドの 1 つの名前である場合は、次のように ` で囲む必要があります。

`group`,`address1`,...

これは、キーワードではなくフィールド名であることを mySQL に伝えます。気付いていない可能性のあるこのようなエラーを防ぐために、すべてのフィールドを ` で囲むことをお勧めします。

于 2012-11-01T10:09:05.357 に答える
0

値に引用符がありませ$_POSTん。更新してみてください

 $sql="INSERT INTO registration
     (`username`,`password`,`fname`,`lname`,`group`,`address1`,`address2`,`address3`, `email`,`city`,`state`,`zip`,`country`)
     VALUES
     ('$_POST[\"name\"]','$_POST[\"password\"]',$_POST[\"firstname\"]','$_POST[\"lastname\"]','  
            $_POST[\"group\"]','$_POST[\"address1\"]','$_POST[\"address2\"]','$_POST[\"address3\"]',                                                           
           '$_POST[\"email\"]','$_POST[\"city\"]','$_POST[\"state\"]','$_POST[\"zip\"]','$_POST[\"country\"]'

            )" ;
于 2012-11-01T10:13:31.343 に答える
0

pburgess のスポット。GROUP、ORDER は、プログラミング中に使用する一般的なフィールド名です。バッククォートを使用してこれらを囲むようにしてくださいgroup。常に良い習慣です。

$sql="INSERT INTO registration(username,password,fname,lname,`group`,
    address1,address2,address3, email,city,state,zip,country )
    VALUES
    ('$_POST[name]','$_POST[password]', '$_POST[firstname]','$_POST[lastname]','  
    $_POST[group]','$_POST[address1]','$_POST[address2]','$_POST[address3]',                                                           
   '$_POST[email]','$_POST[city]','$_POST[state]','$_POST[zip]','$_POST[country]'

    )" ;
于 2012-11-01T10:11:58.113 に答える
0

これを試して

$sql="INSERT INTO registration(`username`,`password`,`fname`,`lname`,`group`,
       `address1`,`address2`,`address3`, `email`,`city`,`state`,`zip`,`country` )
       VALUES
      ('$_POST[name]','$_POST[password]', '$_POST[firstname]','$_POST[lastname]',
      '$_POST[group]','$_POST[address1]','$_POST[address2]','$_POST[address3]',                                                           
      '$_POST[email]','$_POST[city]','$_POST[state]','$_POST[zip]','$_POST[country]')" ;

たとえば、予約済みのキーワードであるフィールド名がいくつかあるため、group

于 2012-11-01T10:12:24.590 に答える
0

手遅れですが、これは誰かを助けるかもしれません。クエリが機能しない理由を確認したいときはいつでも..常にクエリをエコーし​​てphpmyadminに貼り付けようとすると、クエリの問題がより理解しやすいmySQLエラーがスローされます

于 2017-04-22T21:38:40.520 に答える