Javascript 使用ajax插入数据库,500(内部服务器错误)
在我的html中,我有一个简单的ajax,它位于一个函数中,只需按一下按钮就可以调用该函数。我希望调用php脚本将javascript变量插入数据库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},
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},
});