Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过表单将内容输入MySQL数据库_Php_Mysql_Phpmyadmin - Fatal编程技术网

Php 通过表单将内容输入MySQL数据库

Php 通过表单将内容输入MySQL数据库,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我一直在努力创建一个表单,将内容提交到我的数据库中,但我决定使用文本字段,而不是使用下拉菜单来选择日期。我想知道我需要对我的表创建文件做什么更改 <?php mysql_connect ('localhost', 'root', 'root') ; mysql_select_db ('tmlblog'); $sql = "CREATE TABLE php_blog ( id int(20) NOT NULL auto_increment, timestamp int(20) NO

我一直在努力创建一个表单,将内容提交到我的数据库中,但我决定使用文本字段,而不是使用下拉菜单来选择日期。我想知道我需要对我的表创建文件做什么更改

<?php mysql_connect ('localhost', 'root', 'root') ;
mysql_select_db ('tmlblog');

$sql = "CREATE TABLE php_blog (
  id int(20) NOT NULL auto_increment,
  timestamp int(20) NOT NULL,
  title varchar(255) NOT NULL,
  entry longtext NOT NULL,
  PRIMARY KEY  (id)
)";

$result = mysql_query($sql) or print ("Can't create the table 'php_blog' in the database.<br />" . $sql . "<br />" . mysql_error());

mysql_close();
if ($result != false) {
    echo "Table 'php_blog' was successfully created.";
}
?>

您不必对脚本的该部分进行任何更改。您需要的是通过表单中的文本输入检索用户日期输入,并将其(如果格式有效)转换为时间戳


编辑:除非您确实希望时间戳是字符串或日期格式的日期,否则您必须将int更改为varchar(9)(包含xxxx-xx-xx或您喜欢的任何格式)或使用date或datetime,您不必对脚本的该部分进行任何更改。您需要的是通过表单中的文本输入检索用户日期输入,并将其(如果格式有效)转换为时间戳


编辑:除非您确实希望时间戳是字符串或日期格式的日期,否则您必须将int更改为varchar(9)(包含xxxx-xx-xx或您喜欢的任何格式)或使用date或datetime,您可能应该使用MySQL标准datetime类型。获取日期的文本字段内容,并将其提供给PHP和函数,以使其格式与MySQL在DATETIME对象中查找的内容相匹配。

对此,您可能应该使用MySQL标准DATETIME类型。获取某个日期的文本字段内容,并将其提供给PHP和函数,以使其格式与MySQL在DATETIME对象中查找的内容相匹配。

您不必修改任何内容。只需确保正确解析用户输入,并使用创建时间戳即可。

您不必修改任何内容。只需确保正确解析用户输入并使用创建时间戳。

如果要在每次插入行时将当前时间戳输入
时间戳
字段,可以将其定义更改为:

time_stamp  TIMESTAMP NOIT NULL DEFAULT CURRENT_TIMESTAMP
这样,您就不需要为
时间戳
字段进行显式插入

编辑:

如果要编辑表单中的字段,可以使用上面的def of time_stamp字段,并在执行
插入时包含
time_stamp
值。其格式应为:

'YYYY-MM-DD HH:MM:SS'

注意:
timestamp
是MySQL保留字。我已将其重命名为
time\u stamp

如果您想在每次插入行时将当前时间戳输入
time\u stamp
字段,可以将其定义更改为:

time_stamp  TIMESTAMP NOIT NULL DEFAULT CURRENT_TIMESTAMP
这样,您就不需要为
时间戳
字段进行显式插入

编辑:

如果要编辑表单中的字段,可以使用上面的def of time_stamp字段,并在执行
插入时包含
time_stamp
值。其格式应为:

'YYYY-MM-DD HH:MM:SS'

注意:
timestamp
是MySQL保留字。我已将其重命名为
time\u stamp

时间戳是一个保留的MySQL字。如果希望将其用作字段名,则需要在其周围放置反勾号。但是,我建议更改它


您还应该将其设置为日期或日期时间字段,因为这是您实际存储在其中的数据类型。

时间戳是一个保留的MySQL字。如果希望将其用作字段名,则需要在其周围放置反勾号。但是,我建议更改它


您还应该将其设置为日期或日期时间字段,因为这是您实际存储在其中的数据类型。

创建此表后,我尝试使用此表单,但收到以下错误消息:无法插入到表中。在php_blog(时间戳、标题、条目等)值('1270138860'、'ggg'、'ggg')中插入SQL语法错误;检查与您的MySQL服务器版本相对应的手册,以了解在第1行使用near')值('1270138860','test','test')的正确语法。嗯,时间戳太小(选择32位)并且(不确定,我不是MySQL用户),它可能是一个保留名称。我在创建此表后尝试使用该表单,但收到以下错误消息:无法插入到表php\u blog中。在php_blog(时间戳、标题、条目等)值('1270138860'、'ggg'、'ggg')中插入SQL语法错误;请查看与您的MySQL服务器版本对应的手册,以了解在第1行使用near')值('1270138860','test','test')的正确语法。好的,时间戳太小(选择32位),并且(不确定,我不是MySQL用户),它可能是一个保留名称。我将如何执行此操作?请阅读手册页面了解strtotime和date。一切都差不多摆在那里了。从文本字段中读入值,将其传递给strotime以获取php时间戳,使用类似于MySQL期望的格式字符串将该时间戳提供给date(非常确定YYYY-MM-DD HH-MM-SS可以工作)然后使用UPDATE或INSERT语句将该值保存到数据库中。如何执行此操作?请阅读手册页面中的strottime和date。一切都差不多摆在那里了。从文本字段中读入值,将其传递给strotime以获取php时间戳,使用类似于MySQL期望的格式字符串将该时间戳提供给date(非常确定YYYY-MM-DD HH-MM-SS可以工作)然后用UPDATE或INSERT语句将该值保存到数据库中。如果你的意思是我不需要通过表单编辑它,我更希望能够通过表单编辑。你能给我解释一下吗。我不是最擅长编码的人,所以我不理解大多数的“Technobable”。如果你的意思是我不需要通过表单编辑它,我更希望能够通过表单编辑。你能给我解释一下吗。我不是最擅长编码的人,所以我不理解大多数“Technobable”。我使用了这种方法,但尽管如此,我还是不断收到相同的错误消息: