已更新 - 将插入代码添加到 save.php,但单击“保存”后,没有发生任何操作。字段值没有插入到数据库中,而且我也没有收到警报。请指教。
我正在尝试使用 Ajax 将一些用户输入插入到我的 mysql 数据库中。这是我的 html 页面:
<form id="form1" action="#" method="post">
<table style="padding-top: 25px;">
<tr style="height: 40px;">
<td style="text-align:right;">field1:</td>
<td><input type="text" id="field1" required/></td>
</tr>
<tr style="height: 40px;">
<td style="text-align:right;">field2:</td>
<td style="width: 286px;"><input type="text" id="field2"/> </td>
</tr>
<tr style="height: 40px;">
<td style="text-align:right;">Field3</td>
<td><input type="text" id="field3"/></td>
</tr>
<tr>
<td></td>
<td style="padding-top: 20px;">
<input type="submit" value="Save" id="Save"/>
</td>
</tr>
</table>
</form>
这是我的 Ajax:
<script>
$(document).ready(function() {
$('#Save').click(function() {
var field1 = $('#field1').val();
var field2 = $('#field2').val();
var field3 = $('#field3').val();
$.ajax({
type: 'POST',
async: false,
url: 'save.php',
data: {
'saverecord': 1,
'field1':field1,
'field2':field2,
'field3':field3,
success: function(data)
{
if(data==0){
$('#field1').val('');
$('#field2').val('');
$('#field3').val('');
}
}
});
});
});
</script>
在我的 save.php 文件中,我尝试像这样连接到我的 mysql 数据库:
<?php
$cn = mysql_connect("localhost","root","");
if($cn)
{
mysql_select_db('databasename', $cn);
}
if(isset($_POST['saverecord']))
{
mysql_query("INSERT INTO table (field1, field2, field3) VALUES
('{$_POST['field1']}','{$_POST['field2']}','{$_POST['field3']}')");
alert("Inserted successfully");
exit();
}
?>
请告诉我如何使用 Ajax 和 html 将上述 3 个字段值插入到我的表中?非常感谢。
最佳答案
将插入内容放在 save.php 中,连接代码之后。您的 PHP 代码必须位于 .php 文件中,或者您的服务器必须配置为将 .htm/.html 文件解析为 PHP 代码。否则,它不会被处理,而是以 HTML、PHP 代码等形式发送到浏览器,浏览器会看到 <?php ... ?>
只是一个奇怪的 HTML 标签。
另外,请don't use mysql_*
; mysql_*
功能已过时,deprecated ,而且缺乏安全感。使用 MySQLi
或 PDO
相反。
就此而言,您对SQL injection持开放态度。 。在将数据添加到 SQL 查询之前,您必须使用准备好的语句或至少正确转义数据,否则您将会遭到黑客攻击。
关于php - 如何在html中插入php?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32811264/