javascript - 使用ajax插入数据库,500(内部服务器错误)

标签 javascript php jquery mysql ajax

在我的 html 中,我有一个简单的 ajax,它位于按下按钮时调用的函数内。我想要调用 php 脚本来插入发送到数据库的 javascript 变量。

var myval = 'testuser'; // generated by PHP

            $.ajax({
              type: 'POST',
              url: 'testfile.php',
              data: {'variable': myval},
            });

在我的 testfile.php 中,我尝试了很多东西来插入数据库,但没有成功。我知道 ajax 正在工作,因为仅执行以下操作就可以正常工作,没有错误。

<?php

$myval = $_POST['variable'];
echo $myval;

?>

我首先尝试使用全局变量执行此操作。然后甚至尝试手动输入值,尽管我在另一个脚本中具有完全相同的代码(未由ajax调用)并且工作正常,但我仍然收到 500 错误。

$db = new PDO('mysql:host='. DB_HOST .';dbname='. test_user, DB_USER, DB_PASS);

所以我尝试用不同的方式打开它。

$con = mysqli_connect('localhost','username,'pass','newdb');
if (!$con)
  {
  die('Could not connect: ' . mysqli_error($con));
  }

效果很好。然而,放入全局变量会导致它不起作用。

然后我尝试插入到表中。

  INSERT INTO send (user_id)
  VALUES ($myval);

我再次收到 500 错误。

我尝试直接访问 php 文件 (testsite.com/testfile.php) 并得到一个空白页面。查看源代码对我来说没有任何帮助。

我做错了什么,导致不断出现这些错误?

最佳答案

PHP:

   <?php

    //Enter your database connection details here.
    $host = 'localhost'; //HOST NAME.
    $db_name = 'dbname'; //Database Name
    $db_username = 'root'; //Database Username
    $db_password = ''; //Database Password

    try
    {
        $myval = $_POST['variable'];
        $pdo = new PDO('mysql:host='. $host .';dbname='.$db_name, $db_username, $db_password);
        $query = $pdo->prepare('INSERT INTO send (user_id) VALUES (?)');
        $query->bindValue(1, $myval);
        $query->execute();
        echo $myval;
    }
    catch (PDOException $e)
    {
        exit('Error Connecting To DataBase');
    }
    ?>

Javascript:

var myval = 'testuser'; // generated by PHP

            $.ajax({
              type: 'POST',
              url: 'testfile.php',
              data: {variable: myval},
            });

不要在变量名称两边添加引号。我提供了一个 php 脚本,它应该按照您想要的方式工作,如果您仍然需要帮助,请回复。

关于javascript - 使用ajax插入数据库,500(内部服务器错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20751702/

相关文章:

javascript - JQM 1.4.5 : disabling button breaks page rendering

jquery - 如果包含类为 ="dropdown-menu"的 UL,则将类添加到父 LI

javascript - 传单,否则 if = 不显示标记

javascript - Angular 5 太多地理位置响应

javascript - 防止移动屏幕上的对话框滚动正文

php - 包含 php-mysql 连接文件时显示空白页

php - 用于 mysql 搜索的过滤文本

Javascript sin函数问题

php - 实现频繁调用 Python 脚本的最佳方法

当我添加我的 css 时,Javascript 文本输入清除按钮在 Bootstrap 中停止工作。有什么建议吗?