通过AJAX从JavaScript函数调用PHP以将数据存储在mySQL(AMPPS localhost)中似乎不起作用



在尝试从其他线程中学到的各种内容后,我仍然无法使我的代码工作。我基本上只是试图将数据从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);

之后,您需要 executequery,这是将数据插入数据库中的主要因素,而您丢失了数据库,请在$conn->close()

之前添加这些行
if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

请参阅此处,以获取有关如何连接phpmysql数据库的基本帮助,并使用sql查询

插入数据

W3Schools

相关内容

最新更新