チョコミントアイス

データの新規登録を行っているのですが
番号が重複しないでまたデータがすべて入力されたらデータの追加を行いたいのですが
エラーが出て対処できずに困っています
下記のエラーがでます

Parse error: syntax error, unexpected end of file in C:\WWW\test\htdoes\insert.php on line 20
20行目は一番下の行です
<html>
<body>
<?php
$pdo = new PDO("mysql:dbname=db_test;host=localhost", "root", "admin");

if($st->rowCount()>0){
if ($_POST['ID'] != '' && $_POST['NAME'] != '' && $_POST['ADDR'] != ''){
$st = $pdo->prepare("insert ignore into tbl_test values(?,?,?)");
$st->execute(array($_POST['ID'], $_POST['NAME'],$_POST['ADDR']));
header('Location: http://localhost/top.php');
}else{
print データ未入力の場所があります;
}
}else{
print "既に登録している番号です";
?>
</body>
</html>

A 回答 (2件)

コンピュータが「ここおかしいんじゃね?」ってご丁寧に行番号までつけてエラーメッセージを出してくれてるわけです。


英語がわからないならGoogle翻訳に頼っても構いません。
エラーの内容を理解する努力をしましょう。
それをするつもりがないならプログラミングは諦めてください。


<html>
<body>
<?php
$pdo = new PDO("mysql:dbname=db_test;host=localhost", "root", "admin");

if($st->rowCount()>0){ //←PC「$stが何なのかわからないからrowCount()もわからない」
if ($_POST['ID'] != '' && $_POST['NAME'] != '' && $_POST['ADDR'] != ''){
(以下略)


ちなみに、「重複チェック→未入力チェック→登録」という流れで書いていますが、
「未入力チェック→重複チェック→登録」の順にした方がいいかと思います。
    • good
    • 1
この回答へのお礼

ありがとうございます。
これからは翻訳しながら内容を確認します
「未入力チェック→重複チェック→登録」の順にするということはig文の順番が違うということでいいですか?

そもそも書き方間違ってますか?
図々しいとは思いますが書き方が間違っているならご指摘お願いします

お礼日時:2014/04/22 09:33

syntax error(=構文エラー・文法エラー)くらいは人に聞かなくても直せるようになりましょ?




(略)
}else{
print データ未入力の場所があります;
}
}else{ //←この開き括弧に対応する閉じ括弧がコード中にないようです。どうしたらいいと思いますか?
print "既に登録している番号です";
?>
</body>
</html>

この回答への補足

Notice: Undefined variable: st in C:\WWW\test\htdoes\insert.php on line 6

Fatal error: Call to a member function rowCount() on a non-object in C:\WWW\test\htdoes\insert.php on line 6

補足日時:2014/04/21 16:49
    • good
    • 0
この回答へのお礼

ありがとうございました
閉じるの抜けてました
}
?>
今度は違うエラーが出ました

お礼日時:2014/04/21 16:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す