PHP-Ajax调用-<;b>;致命错误</b>;:对非对象调用成员函数prepare()
我的网站目前使用法语、英语和荷兰语。法语是主要语言,也是迄今为止唯一使用的语言 我的jquery脚本对php页面进行ajax调用 我得到的响应是:致命错误:对中的非对象调用成员函数prepare() 我怎样才能消除这个错误?在法文版上,它工作得非常完美!这三种语言使用相同的php脚本PHP-Ajax调用-<;b>;致命错误</b>;:对非对象调用成员函数prepare(),php,jquery,ajax,Php,Jquery,Ajax,我的网站目前使用法语、英语和荷兰语。法语是主要语言,也是迄今为止唯一使用的语言 我的jquery脚本对php页面进行ajax调用 我得到的响应是:致命错误:对中的非对象调用成员函数prepare() 我怎样才能消除这个错误?在法文版上,它工作得非常完美!这三种语言使用相同的php脚本 fermetureEtablissement = [] ; $.ajax({ type: "POST", url: "./admin/datesajax.php", data: ({i
fermetureEtablissement = [] ;
$.ajax({
type: "POST",
url: "./admin/datesajax.php",
data: ({idproduit: 'tous'}),
cache: false,
dataType: "json",
async: false,
success: function(data) {
fermetureEtablissement = data;
}
});
你知道如何解决这个问题吗
您可以在此处看到“不工作”页面:
if ($_POST['idproduit'] == 1 or $_POST['idproduit'] == 4 or $_POST['idproduit'] == 5 or $_POST['idproduit'] == 'tous' or $_POST['idproduit'] == 'ouverturesexceptionnelles' ){
$sth1 = $dbh->prepare("SELECT datesbloquees FROM vm_datesbloquees WHERE idproduit = :idproduit" );
$sth1->execute(array(':idproduit' => $_POST['idproduit']));
$result = $sth1->fetchAll();
$tableaudatesbloquees = explode(",", $result[0]['datesbloquees']);
//print_r($tableaudatesbloquees);
}
function dbConnect(){
global $dbh;
$dbInfo['database_target'] = "xxx";
$dbInfo['database_name'] = "xxx";
$dbInfo['username'] = "xxx";
$dbInfo['password'] = "xxx";
$dbConnString = "mysql:host=" . $dbInfo['database_target'] . "; dbname=" . $dbInfo['database_name'];
$dbh = new PDO($dbConnString, $dbInfo['username'], $dbInfo['password'],array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
变量$dbh不包含数据库对象,这是一个PHP错误,可能来自数据库语句,向我们显示ajax调用并没有多大帮助,因为它与返回的错误无关。我没有看到您描述的错误。当我点击“book”时,页面返回并显示正常。这个问题似乎与主题无关,因为它是关于语法错误的。请查看错误并查看您发布的代码<代码>调用非对象上的成员函数prepare()-在哪里调用prepare()?在$dbh上。。那么$dbh是什么呢?我们知道这不是一个目标,很可能是你麻烦的根源。