Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ajax插入数据库,500(内部服务器错误)_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

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

Javascript 使用ajax插入数据库,500(内部服务器错误),javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,在我的html中,我有一个简单的ajax,它位于一个函数中,只需按一下按钮就可以调用该函数。我希望调用php脚本将javascript变量插入数据库 var myval = 'testuser'; // generated by PHP $.ajax({ type: 'POST', url: 'testfile.php', data: {'variable': myval},

在我的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;

?>
所以我试着用另一种方式打开它

$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');
    }
    ?>

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

非常确定
数据:{'variable':myval},
应该是
数据:{variable:myval},
我会尝试更改它,但即使我将字符串放入值中,仍然会出现错误。所以其他地方一定有问题,对吧?我提供了一些代码。如果您仍然需要帮助,请查看并回复。如果您的查询看起来是这样的,那么可能会出现问题
插入到send(user_id)值($myval)没有其他syntaxah哈!很好,非常感谢。从中我们学到了很多。
   <?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');
    }
    ?>
var myval = 'testuser'; // generated by PHP

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