无法使用php将数据添加到mysql数据库&;添加自动增量id列后的javascript
我正在使用php、mysql和javascript创建一个简单的表单。其思想是让用户输入文本,然后将文本保存到数据库中,同时用户输入的最新文本从数据库返回并显示在同一页面上,而不刷新页面。在我将id列手动添加到表中之前,提交功能已经工作。请查看我的代码并帮助我修复它,谢谢 submit.php↓无法使用php将数据添加到mysql数据库&;添加自动增量id列后的javascript,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我正在使用php、mysql和javascript创建一个简单的表单。其思想是让用户输入文本,然后将文本保存到数据库中,同时用户输入的最新文本从数据库返回并显示在同一页面上,而不刷新页面。在我将id列手动添加到表中之前,提交功能已经工作。请查看我的代码并帮助我修复它,谢谢 submit.php↓ <?php $conn = mysql_connect('localhost','root','') or die (mysql_error); $db = mysql_select_db('q
<?php
$conn = mysql_connect('localhost','root','') or die (mysql_error);
$db = mysql_select_db('qinglish_nihaoemilie') or die (mysql_error);
$lastname = $_POST['lastname'];
$table = 'emilieinfo_lastname';
mysql_query("INSERT INTO $table VALUES('$lastname',NULL)");
?>
数据库截图↓
HTML↓
<h2>
<p>last name:
<span></span>
<i style="position:static; display: none;padding-left:5px;" class="fa fa-pencil-square-o"></i>
</p>
<div class="lastname-container">
<input class="lastname" name="lastname" type="text">
<i class="fa fa-check-square-o"></i>
</div>
</h2>
姓氏:
您的查询不应该是这样的吗
mysql_query('INSERT INTO '.$table.' VALUES("'.$lastname.'")');
也可以尝试在mySQL SQL窗口中运行您的查询,以确保您的查询实际工作检查此查询
mysql_query("INSERT INTO $table (lastname,id) VALUES('$lastname',NULL)");
只需删除
id
和NULL
值,因为它是一个自动增量
字段,您可以在插入数据时删除它。请。已在PHP7中删除。了解使用PDO的语句,并考虑使用PDO,我只是遵循了一个老教程,谢谢你,我会研究的。一定要看那些东西-非常重要-但是在这期间-如果你尝试把“NULL”从查询中取出(这只是插入的姓氏)?只要字段是自动递增的,您的数据库就应该自动分配下一个ID。Hi Mark感谢您的回复,我删除了空值,仍然无法将数据插入数据库,但是如果我删除了数据库中的ID列,数据可以成功插入。Hi Andy感谢您的回复,我试过了,但仍然不起作用。这很容易受到SQL注入攻击。这很容易受到SQL注入攻击。嗨,巴特,谢谢你的回复,我试过这段代码,但它不起作用,我想问题可能是javascript,因为没有发布id值。这很容易受到SQL注入攻击。是的,但正如我所看到的,他仍然在使用经典的mysql_查询
如果他在PDO
或mylsqi
中,我可以使用命名变量,正如你所看到的,我只是同意他的问题,我不想让他现在使用的过程复杂化,谢谢你注意到@Pang我也能看到这一点。:)嗨,马特,谢谢你的回复,我尝试了你的代码,不幸的是它不工作,我想问题可能来自javascript,因为只有没有id值发布。
mysql_query('INSERT INTO '.$table.' VALUES("'.$lastname.'")');
mysql_query("INSERT INTO $table (lastname,id) VALUES('$lastname',NULL)");
mysql_query('INSERT INTO `emilieinfo_lastname`(`lastname`) VALUES('{$lastname}'));