1
if(isset($_POST['zodis'])) { 
strpos($_POST['zodis'], ' ');
if($pos > 0) {
    print '<h2> Only 1 word. </h2>';
} else {
        $query = "INSERT INTO `zodziai` (`id` ,`zodis` ,`date`)VALUES (NULL , '"$_POST['zodis']"',CURRENT_TIMESTAMP);";
        mysql_query($query) or die(mysql_error());

    }
}       

私はどこで間違いを犯しましたか?私はPHPが初めてです

それが示している

解析エラー: 構文エラー、 C:\wamp\www\php_mysql.php19 行目の予期しない T_VARIABLE

4

4 に答える 4

1
$query = "INSERT INTO zodziai (id,zodis,date)VALUES (NULL, '".$_POST['zodis']."',".time().");";

あなたの id フィールドは自動インクリメントではありませんか? あなたの日付フィールドはどのような種類のフィールドですか?

于 2013-01-25T13:33:10.930 に答える
1

を忘れました.

    $query = "INSERT INTO `zodziai` (`id` ,`zodis` ,`date`)VALUES (NULL , '" . $_POST['zodis'] . "',CURRENT_TIMESTAMP);";
于 2013-01-25T13:33:12.853 に答える
0

文字列と変数を混在させる場合は、「.」を使用する必要があります。それらを連結するには:

...VALUES (NULL , '".$_POST['zodis']."',CURRENT_TIMESTAMP)...

($_POST 変数の前後のポイント (.) に注意してください)。

それは私がざっと見てきたものです、多分もっと何かがあるでしょう。

于 2013-01-25T13:36:40.570 に答える
0

を初期化していません$pos。これを試して :

$pos = strpos($_POST['zodis'], ' ');

クエリで連結演算子 ( ) も忘れてい.ます。

$query = "INSERT INTO `zodziai` (`id` ,`zodis` ,`date`)VALUES (NULL , '" . $_POST['zodis'] . "',CURRENT_TIMESTAMP);";

また、mysql_ 関数の使用を避けてください。PHP は mysql_ 関数の使用を推奨しません。mysql_ 関数はまもなく非推奨になり、代わりに mysqli クラスまたは PDO を使用してください。

別の提案として、クエリを送信するのではなくCURRENT_TIMESTAMP、次の制約を使用してテーブル フィールドを作成します。

`date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

クエリを渡すと、対応する行のフィールドが としてNULL自動的に設定されます。dateCURRENT_TIMESTAMP

于 2013-01-25T13:43:20.283 に答える