![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
PHP/MySQLについての質問です。
当方PHP/MySQLについては初心者で、現在参考書を見ながらWebアプリケーションを作成しています。
いくらやっても成功しない例があるので、どこが間違っているのか、
なぜ成功しないのかご教示願いたいです。
エラー名:SQL実行エラー
要因:不明。SQL文を変えたりしたところ成功したこともあるので(elect id,name,age from input_table 等)SQL文に間違いがあるのか?
-------------------input.html------------------------
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form action="input.php" method="post">
名前:<input type="text" name="nm">
年齢:<input type="text" name="age">
<input type="submit" name="exec" value="登録">
</form>
</body>
</html>
-----------------------input.php----------------------------
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php
//DB接続
if(!$con=mysql_connect("localhost","root","********")){ //passwardは正確
echo"接続エラー";
exit;
}
//DB選択
if(!mysql_select_db("input",$con)){
echo"DB選択エラー";
exit;
}
$sql = "insert into input_table(name,age) values('$nm',$age)";
if(!$res=mysql_query($sql)){
echo"SQL実行エラー"; //ここでこのエラーが表示されてしまう
exit;
}
echo "登録完了";
mysql_close($con);
?>
</body>
</html>
--------------------database-----------------------
create table input_table(
id int not null auto_increment,
name varchar(20) not null,
age int not null,
primary key(id)
)
No.3ベストアンサー
- 回答日時:
SQL実行エラーとだけ表示するのではなく,
echo mysql_error();
と,MySQLのエラー情報を表示してみてはどうでしょうか。
なぜエラーになるのかの理由は,これを起点に調べることになります。
http://jp2.php.net/manual/ja/function.mysql-erro …
なお,現在mysql_から始まる関数の利用は推奨されていません。
MysqliやPDO MySQLを使うことが推奨されています。
http://jp2.php.net/manual/ja/mysqlinfo.api.choos …
回答ありがとうございます。
他の方の返答にも書きましたがエラー吐かせたところ
Column count doesn't match value count at row 1
このようなものが返ってきました。
皆さんの回答を見ていると…mysqlは古いようですね。
その意見も大変参考になりました。
ありがとうございました。
No.4
- 回答日時:
こんにちは。
if(!$res=mysql_query($sql)){
echo mysql_query();
echo $sql;
exit;
}
と回答しましたがすみません、コピペ失敗してました。。。
if(!$res=mysql_query($sql)){
echo mysql_error();
echo $sql;
exit;
}
です。
この回答への補足
ありがとうございます。
そのようにしてエラー吐かせたところ
Column count doesn't match value count at row 1
と出ました。
No.2
- 回答日時:
こんにちは。
>上記の2つの文を追加入力してみたのですが、私の方では相変わらずエラーが出てしまいます。
>参考書の方でもその文がなくても成功しているのです…。
原因を究明するには実行したSQLを質問に含めると回答しやすいです。
if(!$res=mysql_query($sql)){
echo mysql_query();
echo $sql;
exit;
}
にして表示されるエラーとSQLを補足下さい。
ちなみにその参考書の初版発行はいつになっていますか?
mysql_connect等使っているところ、
>その文がなくても成功しているのです…。
を見ると古そうな気がします。
No.1
- 回答日時:
echo $sql = "insert into input_table(name,age) values('$nm',$age)";
で実際にSQLを表示してみると、
insert into input_table(name,age) values('',)
ということで値が入っていない状態になっています。
フォームから送信されたデータを取得するように、
$nm = isset($_POST['nm']) ? $_POST['nm'] : "";
$age = isset($_POST['age']) ? $_POST['age'] : "";
$sql = "insert into input_table(name,age) values('$nm',$age)";
のように修正したところ私の環境では、
「登録完了」まで動作いたしました!
ご参考になれば幸いです。
早い返事ありがとうございます。
上記の2つの文を追加入力してみたのですが、私の方では相変わらずエラーが出てしまいます。
参考書の方でもその文がなくても成功しているのです…。
お答えいただいたのに申し訳ありません
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP php ログイン 1 2022/11/01 00:24
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタンのonclick時における関数...
-
PHP+MYSQL IF文の初歩
-
縦に長い<table>でなく横に長い...
-
mysqlからmysqliへの変更点
-
実行時エラー3131 FROM 句の構...
-
テキストボックスに入れた内容...
-
MySQLでデータベースにデータin...
-
SQL文の実行に失敗しました???
-
ResultSetインターフェイスでの...
-
VBAをつかってクエリの情報を抽...
-
syntax errorの原因について
-
codeigniter 複数モデルでトラ...
-
アラートでyes noを作りたいです。
-
SQLで返り値が空とでる
-
SELECT COUNTで取得した結果の表示
-
JAVA SQLServerException 列名 ...
-
例外処理
-
<VB.NET>INSERT文でDBにデータ...
-
VBA ACCESS SQL...
-
データベースに存在するデータ...
マンスリーランキングこのカテゴリの人気マンスリー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のレコードを削除したい
-
すいません。
-
インクルードによる不具合
おすすめ情報