在尝试从其他线程中学到的各种内容后,我仍然无法使我的代码工作。我基本上只是试图将数据从JavaScript function
发送到localhost database
(使用AMPPS创建的服务器)。
目前,我有一个带有以下功能的JavaScript文件:
function WritetoDB() {
alert('Reached. No problem getting here.');
$.get("savedata.php");
}
我还尝试了$.post
,$.ajax
(带有适当的参数等),但它们似乎也无法正常工作。最初,该功能应该接收并传递一些需要存储在数据库中的变量,但是我正在尝试在传递任何变量之前先使它首先工作。
这是'savedata.php':
<?php
$servername = "localhost";
$username = "root";
$password = "mysql";
$databaseName = "database";
$tableName = "table";
$conn = new mysqli($servername, $username, $password);
$A = mysqli_real_escape_string($conn, 'this is A');
$B = mysqli_real_escape_string($conn, 'this is B');
$C = mysqli_real_escape_string($conn, 'this is C');
$sql = "INSERT INTO `database`.`table` (columnA,columnB,columnC)
VALUES ('$A', '$B', '$C')";
$conn->close();
我尝试在index.php
文件中执行PHP
代码,并且它有效(数据已发送到数据库)。但是,当我尝试从JavaScript
文件中的函数调用它时,它无效。我提到的指南/论坛中的大多数解决方案似乎对他人有用,但对我的作品不起作用。
任何帮助将非常感谢,并提前感谢您。
在这种情况下,首选您尝试使用具有一些预定义/虚拟值的php
代码独立运行,以检查它是否正常工作或从中发送我们需要的适当响应。/p>
要对php
文件进行故障排除,不要将数据保存到database
首先进行以下操作。
删除这些行上的语法错误
$B = mysqli_real_escape_string(($conn, 'this is B'));
$C = mysqli_real_escape_string(($conn, 'this is C'));
因为额外的括号包装,将它们更改为
$B = mysqli_real_escape_string($conn, 'this is B');
$C = mysqli_real_escape_string($conn, 'this is C');
然后您不使用连接中的数据库参数更改行
$conn = new mysqli($servername, $username, $password);
to
$conn = new mysqli($servername, $username, $password,$databaseName);
之后,您需要 execute
此 query
,这是将数据插入数据库中的主要因素,而您丢失了数据库,请在$conn->close()
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
请参阅此处,以获取有关如何连接php
和mysql
数据库的基本帮助,并使用sql
查询
W3Schools