2012-04-30 10 views
0

私はPHPを初めて使い、メッセージを受け取ります。Parse error:文法エラー、予期せぬT_VARIABLEが20行目にあります。誰かがこのエラーで私を助けることができたら本当に感謝しています。 Dreamweaverのにされて、それはそれは$ユーザー名を=というエラー言う...しかし、私はちょうどそれが解析エラー:予期せぬT_VARIABLEのC:¥Program Files(x86)¥EasyPHP-5.3.9¥www¥Inventory¥addavaya.php 20行目

<?php 
    $host="localhost"; // Host name 
    $username="xxx"; // Mysql username 
    $password="xxx"; // Mysql password 
    $db_name="xxx"; // Database name 
    $tbl_name="avaya"; // Table name 

    mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB"); 


    $con = mysql_connect("localhost","root",""); 
    if (!$con) 
     { 
     die('Could not connect: ' . mysql_error()); 
     } 
    mysql_select_db("inventory", $con) 


    $addavaya="INSERT INTO avaya_pabx(critical_spare_id, serial_no, ,comcode, version, circuit_pack, classification, location, availability, date, client) 
    VALUES ('$_POST[critical_spare_id]', '$_POST[serial_no]', '$_POST[comcode]', '$_POST[version]', '$_POST[circuit_pack]', 
    '$_POST[classification]', '$_POST[location]' , '$_POST[availability]', '$_POST[date]', '$_POST[client]')"; 


    mysql_query($addavaya,$con) 

    if (!mysql_query($addavaya,$con)) 
     { 
     die('Error: ' . mysql_error()); 
     } 
    echo "1 record added"; 

    mysql_close($con); 

    ?> 
+0

https://gist.github.com/2362466 – PeeHaa

答えて

1

あなたが不足しているセミコロンを持って修正するように見えることはできません。

mysql_select_db("inventory", $con); 
           ^

あなたが連結する必要がありますクエリ:

$addavaya="INSERT INTO avaya_pabx(critical_spare_id, serial_no, ,comcode, version, circuit_pack, classification, location, availability, date, client) 
    VALUES ('". $_POST['critical_spare_id'] . "', '" . $_POST['serial_no']. "', etc... 

また、古いmysql_*機能の使用を中止してください。 mysqli_*またはPDOを使用してください。 mysql_ *関数は将来廃止される予定です。

please please pleaseは、データベースに問い合わせる前に入力をサニタイズします。

+0

おかげで私はまだこの問題が発生し、 お知らせの最後に;を追加します)\ EasyPHP-5.3.9 \ www \ Inventory \ addavaya.php on line 21エラー:SQL構文にエラーがあります。 「comcode、version、circuit_pack、classification、location、availability、date、cl」の行1で使用する正しい構文については、MySQLサーバのバージョンに対応するマニュアルを確認してください –

1

$_POSTは連想配列であるので、あなたは、例えば、単一引用符を使用してアクセスする必要があります

$_POST['critical_spare_id'] instead of $_POST[critical_spare_id] 

これは、あなたのクエリで連結演算子を使用する必要がありますを意味します。

$addavaya="INSERT INTO avaya_pabx(critical_spare_id, serial_no, ,comcode, version, circuit_pack, classification, location, availability, date, client) 
    VALUES ('" . $_POST['critical_spare_id'] . "', ... 

代わりに(と自分自身の利益のために)、あなたはPDOまたはmysqliでパラメータ化クエリを使用することができます。未定義のインデックス:Cでserial_no:\プログラムファイル(x86の

+0

ありがとうございます。 :21行目のC:¥Program Files(x86)¥EasyPHP-5.3.9¥www¥Inventory¥addavaya.phpのserial_noエラー:SQL構文にエラーがあります。 「comcode、version、circuit_pack、classification、location、availability、date、cl」の1行目付近で使用する正しい構文については、MySQLサーバのバージョンに対応するマニュアルを参照してください。 –

+0

未定義のインデックスは、 "serial_no "$ _POST ['serial_no']'は存在しません。 2番目はおそらく、あなたのselectステートメントの "comcode"の前に余分なカンマがあるためです。 –

1

mysql_select_db("inventory", $con)

関連する問題