基本的にいくつかのフィールドを持つページであるPhP、JavaScript、HTML、AJAX、CSS、MySQLi、SQLを使用するファイルが1つあります。 AJAXを使用してページをリフレッシュせずに接続を行うデータベースmysqli_queryに不正な値(AJAXを使用)があるとスローされない目に見えないエラー
or die()
でエラーを表示させることはできませんが、すべて動作しています。私はmy_table(...)
の値のうちの1つを変更することでそれをテストしました。エラーメッセージがないので、情報はデータベースに送信されませんが、ユーザーにはイデアがありません。どうすればエラーを投げることができますか?
私には間違っていることはありませんが、私はAJAXがページや何かをリフレッシュしないと賭けなければなりません。私はいくつかの質問を見てきましたが、私は彼らがこれを正確に説明していると確信していますが、jQueryは常に私を混乱させます。私はこの単純なコードを使用している場合は、それが正常に動作
:状況をよりよく説明すること
<?php
if(isset($_POST["name"]) && !empty($_POST["name"])) {
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
mysqli_set_charset($link, "utf8");
// code
mysqli_query($link, "INSERT INTO my_table(...)values(...)") or die(mysqli_error($link));
mysqli_close($link);
exit;
}
?>
<html>
<head>
<meta charset="UTF-8">
<script>
function AJAX() {
// code
var xhttp = new XMLHttpRequest();
xhttp.open('POST', 'my_file.php', true);
xhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhttp.send(...);
}
</script>
</head>
</body>
<!-- code -->
<button onclick="AJAX()">Send</button>
</body>
</html>
編集:
はここで非重要なものを減らすためにいくつかの変更と私のコードです
<?php
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
mysqli_query($link,"INSERT INTO my_table(Name) VALUES ('Bob')") or die(mysqli_error($link));
mysqli_close($link);
?>
しかし、たとえばmy_table
を、存在しない間違った名前に変更すると、文書に書き込まれますTable 'my_db.wrong_table_name' doesn't exist
。私のファイルの中には何も書いていない/表示していない/全くスローしていないと思っています。
ページを更新したい場合は、AJAXを使用しないでください。同様に、AJAXを使用して同じページ内のコードにpingを実行すると、間違いのタイムベンダーになります。そして、ここにはjQueryはありません。 –
これは実際にはひどい考えです。 [mysqliまたは死ぬ、それは死ぬ必要がありますか?](http://stackoverflow.com/questions/15318368/mysqli-or-die-does-it-have-to-die) –
[あなただけのユーザーではないあなたのサイト](https://phpdelusions.net/programming) –