所以即时通讯使用HTML表单发布信息到PHP,然后发送到数据库使用PHP脚本。但我不断收到$ first_name的意外变量(t_variable)的这个分析错误。这里是我的代码在phpMyAdmin IDPHP解析错误传递变量从表单到数据库
<?php
$first_name = $_POST ['firstname'];
$last_name = $_POST ['lastname'];
$email = $_POST ['email'];
$db_host = "localhost";
$db_username = "root";
$db_pass = "password";
$db_name = "db_name";
//connect to database
@mysql_connect ("$db_host", "$db_username", "$db_pass") or die ("Unable to connect to database at the moment. Please try again later.") ;
//select the database to work with
@mysql_select_db("$db_name") or die("No such database");
mysql_query("INSERT INTO users (id, first, last, email) VALUES ('', "$first_name", "$last_name", "$email") ");
?>
字段类型为int(25长) - 自动递增所以没有必要为它供给。 其他一切都是varchar(255长度)
注意:我已硬编码的值,它的工作,只是没有工作,当我尝试传递变量。此外,我已经尝试了没有引号的变量,它没有工作。
我该如何解决这个问题?
感谢
FIXED!参数周围的单引号起作用。自从它自动递增以来,也删除了id字段。现在看着mysqli。谢谢你们的帮助。
所有的代码需要工作。 **不要**用'@'来压缩错误;这就像将胶带放在Check Engine Light上。 'mysql_'函数被弃用,使用'mysqli_'或'PDO'。了解准备好的陈述。 – Kermit
你看过任何例子吗?另外,对于任何非注册日期的数据库API和绑定参数,这是一个问题。 – mario
在'VALUES('',“$ first_name”,“$ last_name”,“$ email”)中将单引号改为' –