我在這小小的一段代碼stucked:PHP PDO - INSERT INTO與bindParam不起作用
我已經使用PDO來選擇的東西從我的數據庫,但將東西$fruit_object = new fruit(1234, 'apple', 'red apple');
try {
$dbh = new PDO('mysql:host=localhost;charset=utf8;dbname=database', 'user', 'password');
$exc = $dbh->prepare("INSERT INTO fruit(type, name) VALUES (:type, :name);");
//$exc->bindParam(':id', $fruit_object->id, PDO::PARAM_INT);
$exc->bindParam(':type', $fruit_object->type, PDO::PARAM_STR);
$exc->bindParam(':name', $fruit_object->name, PDO::PARAM_STR);
$exc->execute();
$dbh = null;
$exc = null;
} catch (PDOException $e) {
//this function just do an echo with static content
$this->error_database($e);
$dbh = null;
$exc = null;
die();
}
,這是行不通的。用戶只能訪問INSERT的東西 - 我已經在我的後端成功地嘗試過了。
因此,這裏的錯誤:
Fatal error: Uncaught Error: Cannot access private property fruit_object::$type
這是我fruit_object類:
<?php
class fruit
{
private $id;
private $type;
private $name;
function __construct($id, $type, $name)
{
$this->id = $id;
$this->type = $type;
$this->name = $name;
}
function __toString()
{
return $this->name;
}
}
馬丁:
INSERT INTO fruit (id, type, name) VALUES (DEFAULT, 'apple', 'red apple');
我的數據庫是MySQL服務器上運行 - 是這是什麼原因?我必須使用問號(?)嗎?
謝謝你,路易斯
什麼是錯誤? – Dekel
顯示沒有錯誤。 – louis12356
當你指示它......你是否這樣做時,PDO只會拋出異常?如果沒有,去研究它。 – CBroe