Php PDO bindParam()致命错误

Php PDO bindParam()致命错误,php,mysql,pdo,Php,Mysql,Pdo,我正在尝试学习PDO,现在我已经编写了这段代码,但它给了我一个致命的错误: 致命错误:对中的非对象调用成员函数bindparam $con = new mysqli("127.0.0.1","root","","csvdangercheck"); $query = $con->prepare("INSERT INTO `testtabel` (`ID`, `var1`, `var2`) VALUES (:ID , :var1, :var2);"); $query->bindPara

我正在尝试学习PDO,现在我已经编写了这段代码,但它给了我一个致命的错误:

致命错误:对中的非对象调用成员函数bindparam

$con =  new mysqli("127.0.0.1","root","","csvdangercheck");
$query = $con->prepare("INSERT INTO `testtabel` (`ID`, `var1`, `var2`) VALUES (:ID , :var1, :var2);");
$query->bindParam(':ID', $id);
$query->bindParam(':var1',$val1);
$query->bindParam(':var2',$val2);
$query->execute();
我尝试使用print\r$con->errorInfo;但结果如下:

致命错误:调用中未定义的方法mysqli::errorInfo


有人能告诉我这里缺少什么吗?

就像Fluffeh说的,你把PDO和mysqli搞混了,试试这个:

$con =  new PDO('mysql:host=127.0.0.1;dbname=csvdangercheck', 'root', '');

您正在混合mysqli和pdo。挑一个:我建议你选择PDO。啊,这解释了很多,谢谢。到时候我会查更多信息的!:@我现在开始工作了:D谢谢,另一个问题。。它现在正在显示它放在数据库中的数组,有没有办法隐藏它?Mysqli本身不会显示数组。我猜当你试图调试代码时,你在那里的某个地方有一个print\r或var\u转储?哦,是的,这就是我在问题中提到的print\r,你是一个英雄