php解析将变量从表单传递到数据库时出错

标签 php mysql database forms

所以我使用 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/

相关文章:

php - 根据下拉菜单中选定的选项查看数据库中的数据

sql - 数据库选择 - 逻辑崩溃

php - Azure使用rest api和php将blob从一个容器复制到同一存储帐户中的另一个容器

c# - 我如何在 C# 中使用 mysql 验证数据库中的现有用户名

PHP int 和 integer 的区别

mysql - 即使回滚后,插入原子事务中的数据仍然存在

database - 为什么要把IP转成整数来存储呢?

php - 简单的AJAX DataGrid显示问题

PHPUnit Laravel : How to Unit Test custom Exception Handler?

php - 如何通过 AJAX 请求执行连接查询