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的新手
它显示
解析错误:语法错误、意外T_VARIABLE
C:'wamp'www'php_mysql.php
19 号线
你忘了.
。
$query = "INSERT INTO `zodziai` (`id` ,`zodis` ,`date`)VALUES (NULL , '" . $_POST['zodis'] . "',CURRENT_TIMESTAMP);";
$query = "INSERT INTO zodziai (id,zodis,date)VALUES (NULL, '".$_POST['zodis']."',".time().");";
您的 ID 字段不是自动加密的?您的日期字段是什么类型的字段?
如果混合字符串和变量,则应使用 "." 将它们连接起来:
。值 (NULL , '".$_POST['ZODIS']."',CURRENT_TIMESTAMP)...
(请注意 $_POST 变量前后的点 (.)。
这就是我快速浏览所看到的,也许还有更多。
您没有初始化$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
。