他のスレッドから学んだことを一日中試してみると、 。私は基本的には、JavaScript function
からlocalhost database
(AMPPSを使用して作成されたサーバー)にデータを送信しようとしています。JavaScript関数からAJAX経由でPHP関数を呼び出すと、mySQL(AMPPS localhost)にデータを格納するだけで動作しないようです。
現在、私は次の関数を持つJavaScriptファイルがあります。
function WritetoDB(){
alert('Reached. No problem getting here.');
$.get("savedata.php");
}
を私も(その適切なパラメータとそのように)、$.ajax
、$.post
を試してみたが、それらのどれもどちらか動作するようには思えません。もともと、この関数はデータベースに格納する必要のある変数を受け取って渡すことを前提としていましたが、変数を渡す前に最初に関数を呼び出そうとしています。
これは '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();
?>
Iはindex.php
ファイルにPHP
コードを実行しようと、それは、(データがデータベースに送信された)動作します。しかし、私はJavaScript
ファイルの関数から呼び出そうとしているときには機能しません。私が言及したガイド/フォーラムのほとんどのソリューションは、他の人にとってはうまくいくようですが、私にとってはうまくいかないようです。
お手数をおかけしますが、よろしくお願いいたします。
SQLインジェクションを防ぐために 'real_escape_string()'関数に頼らないでください。[それらだけでは不十分です](https://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql -real-escape-string)を指定します。あなたは[** mysqli **](https://secure.php.net/manual/en/mysqli.prepare.php)または[** PDO **](https ://secure.php.net/manual/en/pdo.prepared-statements.php)ドライバ。 [**この記事**](https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)には、いくつかの良い例があります。 –
ちょうど質問:あなたはJQuery機能を使用しています。すべてのJQueryファイルを正しくインクルードしましたか? –
コードをオンラインで表示 – Ali