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.php解析错误:语法错误,第 19 行出现意外的 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

您没有初始化$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查询,这将自动将date相应行中的字段设置为CURRENT_TIMESTAMP.

于 2013-01-25T13:43:20.283 回答
0

如果混合使用字符串和变量,则应使用“.”。连接它们:

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

(注意 $_POST 变量前后的点 (.))。

这就是我所看到的快速浏览,也许还有更多。

于 2013-01-25T13:36:40.570 回答