0

私はPHPを初めて使用し、「解析エラー:構文エラー、20行目の..に予期しないT_VARIABLE」というメッセージが表示されます。このエラーが本当にストレスになり始めているので、誰かがこのエラーを手伝ってくれるとありがたいです。dreamweaverを使用していて、$ Username =と表示されているエラーが表示されます...しかし、修正できないようです。

<?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);

    ?>
4

3 に答える 3

2

セミコロンがありません:

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_* 関数は将来廃止される予定です。

そして、データベースにクエリを実行する前に、入力をサニタイズしてください!

于 2012-04-30T02:35:04.890 に答える
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でパラメーター化されたクエリを使用することもできます。

于 2012-04-30T02:35:34.970 に答える
1

;の末尾にa を追加しますmysql_select_db("inventory", $con)

于 2012-04-30T02:35:57.960 に答える