携帯サイトを構築しております。登録画面にてSELECT+INSERT文にてDuplicate entry for keyというエラーがでてしまいます。解決方法がわからない状態です。ご教授お願いいたします。ちなみにIDはPRIMARYでauto_incrementで、mailとNoは個別でUNIQUE KEYに設定しております。
<?php
// データベースに接続する
$conn = mysql_connect("xxxx","xxxxx","123456") or die("接続エラー");
mysql_query("set character set sjis") or die("エラー");
mysql_select_db("aaa") or die("接続エラー");
//すでに登録済みかどうか調べる
$sql = sprintf("SELECT mail,No FROM users where (mail = '%s')or(No = '%s')",
mysql_real_escape_string($mail),
mysql_real_escape_string($No));
$res = mysql_query($sql, $conn) or die("データ抽出エラー");
$count = mysql_num_rows($res);
//データが抽出できたときはすでに登録済みと判断できる
if($count > 0) {
print '<font color="red">既に登録されております</font><br />
<a href="login.html">こちらからログインしてください</a>';
}
?>
<?php
DBに接続
$con = mysql_connect("xxxxxxx","xxxxxx","4123456")or die(mysql_error());
mysql_query("set character set sjis") or die("エラー");
mysql_select_db("xxxxxxx")or die(mysql_error());
$sql = "INSERT INTO users(name,kana,nick,sex,pass,mail,No,date)VALUES('".$name."','".$kana."','".$nick."','".$sex."','".$pass."','".$mail."','".$No."',NOW())";
$res = mysql_query($sql) or die(mysql_error());
mysql_close($con);
function mysql_insert_string($table_name, $values) {
$names = '`'.implode('`,`', array_keys($values)).'`';
$values = implode(',', array_map(mysql_escape, $values));
return "INSERT INTO `{$table_name}` ({$names}) VALUES({$values});";
}
function mysql_escape($value) {
switch (true) {
case is_null($value) : return 'NULL';
case is_bool($value) : return $value ? 1 : 0;
case is_numeric($value) : return $value;
default : return "'".mysql_real_escape_string($value)."'";
}
}
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- PHP php エラー 2 2022/10/23 16:43
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
stringaddslashes 半角¥が消える
-
XAMMPが起動しません。
-
テーブルに入っているデータと...
-
CSVをダウンロードさせた際、CS...
-
phpからMySQLへ日本語insert
-
XAMPPで画面が真っ白になります。
-
<VB.NET>INSERT文でDBにデータ...
-
MySQLでデータベースにデータin...
-
PHPで[]の使い方について
-
実行時エラー3131 FROM 句の構...
-
VBAをつかってクエリの情報を抽...
-
Pro*Cの構文エラー
-
mysql+php 日付別料金データで...
-
データベースに存在するデータ...
-
phpでテーブルを作る際変数によ...
-
MySQLで0で検索できない
-
PHP+MySQLで、MySQLの信号機が...
-
codeigniter 複数モデルでトラ...
-
MySQLにHTMLタグを挿入したい
-
SELECT結果から動的にコンボボ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sqlから多次元配列に要素を格納...
-
PHP+mysqlでSQL文に文字数制限...
-
phpのエラーについてです
-
PHPで絞り込み検索結果の件数を...
-
PDOを使いたい
-
CSVをダウンロードさせた際、CS...
-
stringaddslashes 半角¥が消える
-
MySQLのデータを使ってプルダウ...
-
mariadbでのエラー
-
php+mysql sql文実行について
-
XAMMPが起動しません。
-
SQL文2つ実行
-
会員登録したらメールが送られ...
-
「mysqlclient」の事が分からな...
-
if文で、レコードが無い場合だ...
-
mysql_real_escape_string
-
XAMPPで画面が真っ白になります。
-
配列に値が入らない
-
SQLの結果が返ってこない
-
ボタンのonclick時における関数...
おすすめ情報