我是新来的PHP,但这里是我的代码,我越来越:PHP错误
Fatal error: Uncaught Error: Call to a member function bindParam() on boolean
我已经测试和试验,不知道是怎么了,一些指针,将真正帮助继续前进 - 感谢提前。
$url_slot = parse_url($str);
$urlArray = explode('/',$url_slot['path']);
$passid = $urlArray['11']; // serial no
$deviceId = $urlArray['8'];
$passtype = $urlArray['10'];
$servername = "host";
$username = "user";
$password = "******";
$dbname = "db";
try {
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$stmt = $conn->prepare("INSERT INTO Registrations (device_id, pass_id, pass_type) VALUES
(:device_id,:pass_id,:pass_type,:created,:modified)");
$stmt->bindParam(':device_id',$device_id);
$stmt->bindParam(':pass_id',$pass_id);
$stmt->bindParam(':pass_type',$pass_type);
$device_id = $deviceId;
$pass_id = $passid;
$pass_type = $passtype;
$stmt->execute();
$conn = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
try {
$conn = new mysqli($servername, $username, $password, $dbname);
$stmt = $conn->prepare("INSERT INTO Devices (push_token) VALUES
(:push_token)");
$stmt->bindParam(':push_token',$push_token);
$push_token = $content['pushToken'];
$stmt->execute();
$conn = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
?>
任何帮助将是伟大的。
你正在尝试3列绑定到5个占位符。 ':DEVICE_ID,:pass_id,:pass_type,:创建:modified' VS'DEVICE_ID,pass_id,pass_type'错误对该报告做准备,你应该得到的东西回来,http://php.net/manual/en/mysqli。 error.php。 – chris85
你的语句是'FALSE'因为查询语法错误的(按@ chris85的言论)...和'FALSE'没有一个'bindParam'方法。您应该始终检查任何PDO调用的状态(在这种情况下,您没有检查“准备”是否有效)。 – YvesLeBorg
您还在混合使用API。 'PDO'!='mysqli' – Qirel