0

コードを実行すると、mysql error() が表示され、Query Execution.Error で Error : Problem In Executing the Query: が表示されます。

insert into kyaami_user_logins set `user_id` = '32', `email` = 'test@test2.com', `ip` = , `timestamp` = NOW(), `state` = 'success', `active`=1

MySQL エラー: ()

<?php
if ( isset( $_GET['msg'] ) )
    {
  if ( $_GET['msg'] == 1 )
    echo "Invalid User. Try Again.";
  if ( $_GET['msg'] == 2 )
    echo "Account Activated Successfully.";
  if ( $_GET['msg'] == 3 )
    echo "Your Account is Locked. contact Administrator.";
  if ( $_REQUEST['msg'] == 4 )
    echo "Mail has been sent to your email address.";
  if ( $_REQUEST['msg'] == 5 )
    echo "Your Account is already activated, Login Here";
  if ( $_REQUEST['msg'] == 6 )
    echo "Your Activation link has been expired, please register again";
     }
?>
</span></td>
</tr>
<tr>
  <td width="70" align="right" valign="top"><p class="form_text" style="color:#FFF;" align="right"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Email</strong></p></td>
  <td width="410"><div class="form_input_BG"><input type="text" name="username" id="username" value=""/></div></td>
</tr>
<tr>
  <td valign="top"><p class="form_text" style="margin-left:8px; color:#FFF;"><strong>Password</strong></p></td>
  <td align="left"><div class="form_input_BG"><input type="password" name="pwd" id="pwd" value=""/></div>
  </td>
</tr>
<tr>
  <td>&nbsp;</td>
  <td>&nbsp;&nbsp;<strong><a href="index.php?page=forgot_pwd" >Forgot your password?</a></strong></td>
</tr>
<tr>
  <td>&nbsp;</td>
  <td><div class="form_login_signup_btn">
<input title="login Now" type="image" src="images/login_btn.png" name="formSubmit" id="login" width="104" height="33" /> <!--<input type="image" src="images/signup_btn.png" title="Signup Now" name="signup" id="signup" />-->&nbsp;&nbsp;<a href="fbconnect.php"><img src="images/fconnect-but.gif" width="89" height="21" border="0"></a> &nbsp;&nbsp;<a href="twit_redirect.php"><img src="images/sign-in-with-twitter.png" width="151" height="24" alt="Sign in with Twitter" border="0" /></a>
    </div>
  </td>
</tr>
</table>
</div>
</div>
</div>
<div class="clr"></div></div>
<div class="clr"></div>
</div>
</form>
4

3 に答える 3

0

そのようなエラーを回避するには、コードをPDOに変更してみてください。

$db = new PDO('mysql:host=localhost;dbname=testdb;charset=UTF-8', 'username', 'password', array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

$stmt = $db->prepare("INSERT INTO `kyaami_user_logins`(`user_id`, `email`, `timestamp`, `state`, `active`, `ip`) VALUES (:user_id, :email, NOW(), :state, 1, :ip)");
$stmt->execute(array(':user_id' => 32, ':email' => 'test@test2.com', ':state' => 'success', ':ip'=>''));
于 2012-09-11T10:01:27.170 に答える
0

ip = ''である必要があります

insert into kyaami_user_logins set `user_id` = '32', `email` = 'test@test2.com', `ip` = '', `timestamp` = NOW(), `state` = 'success', `active`=1

ip = ,エラーを引き起こしています。ip = ''値が空の場合に修正します。

于 2012-09-11T09:49:29.667 に答える
0

空白を挿入しています:

insert into kyaami_user_logins 
    set `user_id` = '32', 
    `email` = 'test@test2.com', 
    `ip` = , 
    `timestamp` = NOW(), 
    `state` = 'success', 
    `active`=1

null 値を挿入する場合は、次を使用します。

insert into kyaami_user_logins 
    set `user_id` = '32', 
    `email` = 'test@test2.com', 
    `ip` = null, 
    `timestamp` = NOW(), 
    `state` = 'success', 
    `active`=1

また、通常、挿入には次の構文があります。

insert into kyaami_user_logins 
    (`user_id`, `email`, `ip`, `timestamp`, `state`, `active`)
    values ('32', 'test@test2.com', null, NOW(), 'success', 1)

このメソッドはテーブルを変更しても存続し、次のように列に名前を付けることで (デフォルトが null に設定されている場合)、実際には IP 部分を完全にスキップできます。

insert into kyaami_user_logins 
    (`user_id`, `email`, `timestamp`, `state`, `active`)
    values ('32', 'test@test2.com', NOW(), 'success', 1)
于 2012-09-11T09:49:47.800 に答える