私は多大な努力をしましたが、データベースに2つの値を保存するために何が間違っているかを知ることができませんでした。 1つの値を保存する別の関数でうまくいきました。ここでは非常に奇妙な動作をします。ときどき 'parent'値を送信することがあります&は送信を停止することもありますが、msg値を送信しないこともあります。ここに機能があります。 1つの入力、すなわち親に対してはうまく動作するが、問題は2番目の入力の追加から始まる。json関数のエラーがデータベースにデータを保存しています
<script>
function ADDLISITEM(form)
{
var parent = form.txtInput.value;
var msg = form.msgInput.value;
form.txtInput.value = "";
form.msgInput.value = "";
var url = "send_mysql.php"
var request = null;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
request=new XMLHttpRequest();
}
else
{// code for IE6, IE5
request=new ActiveXObject("Microsoft.XMLHTTP");
}
request.open("POST", url, true);
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
request.setRequestHeader("Connection", "close");
request.onreadystatechange = function(){
if (request.readyState == 4) {
if (request.status == 200) {
//alert('POST');
} else {
alert(request.status); // fails here
}
}
}
request.send("parent=" + encodeURIComponent(parent).replace(/%20/g, '+')+"&msg=" +
encodeURIComponent(msg).replace(/%20/g, '+'));
}
</script>
これはsend.php
$ユーザ名= "ババール" です。
$ password = "k4541616";
$ hostname = "localhost";
$ dbh = mysql_connect($ hostname、$ username、$ password)またはdie( "
をMySQLに接続できません");
$ selected = mysql_select_db( "spec"、$ dbh)またはdie( "first_testを選択できませんでした"); ?
//die(var_export($_POST,TRUE));
$parent = $_POST['parent'];
$msg = $_POST['msg'];
$name = 'Akhtar Nutt';
//$parent2 = json_decode($parent);
$msg_ID = '2q7b2sfwwe';
//$msg2 = json_decode($msg);
$query = "INSERT INTO msg2_Qualities(id,name,msg,msg_id,parent) VALUES
('','$name','$msg','$msg_ID','$parent')";
if(!mysql_query($query, $dbh))
{die('error:' .mysql_error())
;}
>
私は両方を試しましたが、違いはありません、はい、それは私がそれを追加するだけでなく、それは違いはありません。 – XCeptable
OK。次に、send.phpに開始時に「die(var_export($ _ POST、TRUE))」を実行させます。 XHR経由でデータを送信するとどうなりますか? –
@ goreSplatter、少し説明できますか?私は死ぬ(var_export($ _ POST、TRUE)); send_mysql.phpの開始時、つまりデータベース接続後です。 XHR経由でデータを送信するとどういう意味ですか? – XCeptable