2011-12-11 12 views
2

何らかの理由で、単一のフィールドがデータベース(電子メールフィールド)に挿入されません。私は間違ったことは見つけられません。私はそれのための変数をうまくエコーしました。しかし、何もマニュアルテキストを挿入するようです。誰もエラーを見ることができますか?単一フィールドは挿入されません

mysql_query("INSERT INTO 'users' (fbID, firstName, lastName, facebookURL, birthday, updated, accessToken, emailOne) VALUES ('".mysql_real_escape_string($userId)."', '".mysql_real_escape_string($firstName)."', '".mysql_real_escape_string($lastName)."', '".mysql_real_escape_string($link)."', '".mysql_real_escape_string($birthday)."', '".mysql_real_escape_string($today)."', '".mysql_real_escape_string($accessToken)."', '".mysql_real_escape_string($email)."')"); 
+0

参照のためにデータベースのフィールドがvarcharです –

+0

どのようなエラーが表示されますか? –

+0

エラーはありません。ちょうど何も挿入しません –

答えて

1

でご覧ください。デバッグ用に分割します。

myQuery="INSERT INTO `users` (fbID, firstName, ... "; 
mysql_query(myQuery); 

echo myQuery; 

このように、あなたの質問を印刷して、phpmyadminに貼り付けてテストすることができます。 何かが動作していない場合は、エラーが発生するはずです。あなたのクエリは、それが動作するはず正しい場合

php documentation

<?php 
    $result = mysql_query(myQuery); 
    if (!$result) { 
    die('Invalid query: ' . mysql_error()); 
    } 
?> 

で述べたように処理し、いくつかのエラーを紹介します。それ以外の場合は、エラーについて教えてください。

+0

エラーはありません –

0

シングルクォートは、SQLの文字列と日付リテラルのためのものです。バッククォートや引用符が必要な場合があります。

mysql_query("INSERT INTO `users` (... 

SQLを生成するPHPコードを見て、SQLをデバッグすることは本当に困難です。

$sql = "INSERT INTO `users` (...)"; 

// you can output the string here to debug it 

mysql_query($sql); 

は、多くの場合、SQL文字列ではなく、PHPのコードを見ることで、何らかのエラーがはるかに明確である:あなたがいることをSQL文字列と出力を形成する方法を学ぶ必要があります。

また、クエリの後にエラー条件を確認する必要があります。 mysql_query()戻り値が間違っている場合はFALSEを返し、mysql_error()を使用して何が起きたのかを確認できます。コード例はhttp://php.net/manual/en/function.mysql-query.php

+0

を削除してみることをおすすめします。すべてのフィールドが入力されますが、その電子メールフィールドはまだ –

+0

です。また、phpmyadminで試してみて、細かい部分を挿入します。 –

関連する問題