所以我使用 HTML 表单将信息发布到 php,然后使用 php 脚本将其发送到数据库。但我不断收到 $first_name 的意外变量 (t_variable) 的解析错误。这是我的代码
<?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") " );
?>
phpmyadmin 中的字段类型 id 是 INT(25 长度)- 自动递增,因此无需提供它。 其他一切都是 varchar (255 长度)
注意:我已经对这些值进行了硬编码,并且它有效,只是当我尝试传递变量时不起作用。我也尝试过不带引号的变量,但它不起作用。
我该如何解决这个问题?
谢谢
已修复!!!参数周围的单引号有效。还删除了 id 字段,因为它会自动递增。现在也在看mysqli。谢谢你们的帮助。
最佳答案
试试这个代码
<?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 (null, '".$first_name"', '".$last_name."', '".$email."') " );
?>
使用var_dump(queries);仍然存在错误调试错误
关于php解析将变量从表单传递到数据库时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20640424/