-1

PHP を使用して SQL 挿入クエリを完了しようとしています。返されるエラーは次のとおりです:SCREAM:エラー抑制が解析エラーのために無視されました:構文エラー、28行目のC:\wamp\www\sign\db.phpの予期しないT_STRING

私は wamp を使用しており、php myadmin でクエリを直接テストしましたが、正常に動作します。何が問題なのかわからない。

前もって感謝します。

<?php
    //variables for db
    $username = "root";
    $password = "";
    $hostname = "127.0.0.1"; 
    $dbname = "site";
    //connection to the database
    $con = mysql_connect($hostname, $username, $password);

    if($con == FALSE)
    {
        echo 'Cannot connect to database' . mysql_error();
    }

    mysql_select_db($dbname, $con);

    mysql_query("INSERT INTO users (full_name, first_name, dob, star_sign) VALUES ("test","test", "test", "test");";

    ?>
4

3 に答える 3

0

引用符を修正する必要があります:

// use single quotes
mysql_query("INSERT INTO users (full_name, first_name, dob, star_sign) 
             VALUES ('test','test', 'test', 'test');";

// Or...
// escape your double quotes
mysql_query("INSERT INTO users (full_name, first_name, dob, star_sign) 
             VALUES (\"test\",\"test\", \"test\", \"test\");";

何が起こっているか (特に、質問のコードの構文の強調表示に注意を払っている場合)、単純に二重引用符を使用すると文字列が終了します。

これを修正するには、一重引用符を使用するか、二重引用符をエスケープします。

于 2013-07-27T15:11:01.693 に答える
0

代わりに一重引用符を使用してください。

mysql_query("INSERT INTO users (full_name, first_name, dob, star_sign) VALUES ('test','test', 'test', 'test');";
于 2013-07-27T15:10:24.687 に答える
0

ここで引用符をバックスラッシュする必要があります。そうしないと、ステートメントを閉じます

mysql_query("INSERT INTO users (full_name, first_name, dob, star_sign) VALUES (\"test\",\"test\", \"test\", \"test\");";

または、それらを一重引用符に置き換えることができます

于 2013-07-27T15:10:27.807 に答える