![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_09.png?e8efa67)
PHPの初心者です。あまり上達せず、困っていました。
よろしくお願いします。
用件は、POSTからもらったデータをMysqlへ追加する操作です。
とある参考書に書いてあるように、
しても、エラーで追加されません。
ちなみに、$commentの箇所を省いて、nameとpasswordだけにすると
ちゃんと追加されます。これが不思議なんです。
DBへのアカウントやパスは間違っていません。
PHPのバージョンは5です。
// データの文字コードを変換する関数
function cnv_dbstring{
XXXXXX変換するコードXXXXX
}
if (count($_POST) > 0) {
$name = $_POST["name"];
$password = $_POST["password"];
$comment = $_POST["comment"];
// データが送信されたときはデータを追加する
if (strlen($name) and strlen($password) and strlen($comment)){
// データを追加する
$sql = "INSERT INTO xx_xxxx_usr(name, password, comment) VALUES(
'".cnv_sqlstr(cnv_dbstring($name, $db_enc))."',
'".cnv_sqlstr(cnv_dbstring($password, $db_enc))."',
".cnv_sqlstr(cnv_dbstring($comment, $db_enc)).")
;";
mysql_query($sql, $conn) or die("データ追加エラー"); ←このエラーが出ます。
echo "<p>追加されたデータのID:".mysql_insert_id($conn);
}
}
No.2ベストアンサー
- 回答日時:
#ANo.1の方が書かれたように「実際に投げられているSQL文」を確認しないと話が進みませんが(汗
>mysql_query($sql, $conn) or die("データ追加エラー");
とりあえず
mysql_query($sql, $conn) or die("データ追加エラー" . mysql_error());
として、どういうエラーになっているかを確認してください。$commentだけ単引用符で括っていないように見えるので、それが原因じゃないかとは推測しますけど・・。
(蛇足)
MySQLのバージョンはいくつでしょう。4.1以降であればクライアントの文字コードとサーバの文字コードの間で自動変換になりますから「cnv_dbstring」なんてことはしなくていいハズです。
#その代わり、set names を出すとか何とかはFAQなので割愛(汗
あと・・mysql_real_escape_stringをとおさないとマズイと思います。
http://www.php.net/manual/ja/function.mysql-real …
いろいろ教えて頂きありがとうございます。
>$commentだけ単引用符で括っていないように見えるので。。。
これが原因でした。
エラー内容を表示させることでわかりました。ありがとうございます。
mysql_real_escape_stringもやってみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP php エラー 2 2022/10/23 16:43
- PHP php テーブルが作成できない 1 2022/11/17 23:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
while文から抜け出せません。。。
-
phpのエラーについてです
-
PHP+mysqlでSQL文に文字数制限...
-
すいません。
-
Resource id #3 をフィールドの...
-
括弧内の処理の順序
-
会員登録したらメールが送られ...
-
PHPで[]の使い方について
-
実行時エラー3131 FROM 句の構...
-
LocalのNotesメールDBをVBAで参...
-
条件が合わなかった場合の処理...
-
PHP&MySQLでの文字列+数列の一...
-
VBAをつかってクエリの情報を抽...
-
OracleからAccessへのインポート
-
Pro*Cの構文エラー
-
ResultSetインターフェイスでの...
-
例外処理
-
エラー3011
-
insert1つの処理でもトランザ...
-
PEAR でprepareメソッドがエラーに
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpのエラーについてです
-
テーブルに入っているデータと...
-
sqlから多次元配列に要素を格納...
-
PHPで絞り込み検索結果の件数を...
-
MySQLのデータを使ってプルダウ...
-
XAMMPが起動しません。
-
mysql_fetch_objectのエラー
-
mysql_resultのエラー
-
CSVをダウンロードさせた際、CS...
-
stringaddslashes 半角¥が消える
-
「mysqlclient」の事が分からな...
-
XAMPPで画面が真っ白になります。
-
会員登録したらメールが送られ...
-
PHP+mysqlでSQL文に文字数制限...
-
変数同士の引き算が出来ない
-
連想二次元配列のUNIXTIMEでの...
-
PHP/MySQL SQLエラーについて。
-
PHPでMySQLのレコードを削除したい
-
すいません。
-
インクルードによる不具合
おすすめ情報